Похоже, вы пытаетесь сравнить записи не таблицы здесь. И на самом деле вы сравниваете результаты запросов.
Это вполне возможно с Oracle и MySQL. Следующий запрос действителен и выполняет задание:
SELECT (SELECT foo, bar FROM wathever) = (SELECT fuu, baz FROM another);
Он сравнивает поля одно с одним и возвращает 1, если они все совпадают (или 0, если они не совпадают). Если подзапросы возвращают более одной строки, это вызовет ошибку SQL. Это выражение может также использоваться в другом месте, как в предложениях WHERE.
Обновление для postgreSQL
Как указывал @tsionyx, в PostgreSQL подзапрос не может возвращать несколько столбцов. Возможен возврат типа значения строки:
SELECT (SELECT ROW(foo, bar) FROM wathever) = (SELECT ROW(fuu, baz) FROM another);