SQL несколько столбцов в больше, чем выражение - PullRequest
0 голосов
/ 18 сентября 2018

Увидел следующий 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 Ответ

0 голосов
/ 18 сентября 2018

Сравнения выполняются в виде «кортежей» слева направо. Итак, первое значение сравнивается в каждом кортеже, затем сравнивается следующее. Итак:

  • (1, 2) > (1, 1) -> true
  • (1, 1) > (1, 1) -> false
  • (2, 1) > (2, 2) -> false
  • (2, 1) > (1, 10) -> верно
...