看到以下关于使用游标进行分页结果的SQL,并且无法找到有关其部分工作原理的更多信息:
SELECT b.* FROM books b
WHERE (b.name, id) > (select b2.name, b2.id
from books b2
where b2.id = ?
)
ORDER BY b.name;
在单个比较表达式中有多个列时会发生什么?我还没有找到任何其他的例子。
比较从左到右作为“元组”。因此,在每个元组中比较第一个值,然后比较下一个值。所以:
(1, 2) > (1, 1)
- >真的(1, 1) > (1, 1)
- > false(2, 1) > (2, 2)
- > false(2, 1) > (1, 10)
- >真的