Я был немного смущен при чтении документации MySQL Документация MySQL
A row subquery is a subquery variant that returns a single row and can thus return more than one column value. Legal operators for row subquery comparisons are:
= > < >= <= <> != <=>
Для документации "=" есть хорошее объяснение:
SELECT * FROM t1 WHERE (column1,column2) = (1,1);
is same as:
SELECT * FROM t1 WHERE column1 = 1 AND column2 = 1;
Но как">" или "<" могут сравнивать две строки?Что такое «простой» вариант для этого оператора?</p>
create table example(a integer,b integer);
insert into example values (1,1);
insert into example values (1,2);
insert into example values (2,1);
select * from example where (a,b) > (1,1)
a | b
-----
1 | 2
2 | 1
Детская площадка: http://www.sqlfiddle.com/#!9/88641/2
ps:
- PostgreSQL работает аналогично.
- Сбой Oracle с ошибкой "ORA-01796: этот оператор нельзя использовать со списками "