В SQL должен ли оператор BETWEEN иметь форму МЕЖДУ самым низким и самым высоким? - PullRequest
1 голос
/ 20 июня 2009

Например, если бы я сделал:

SELECT * FROM Users WHERE UserId BETWEEN 100 AND 1

Какими будут результаты?

Редактировать: Извините, вы правы, я должен был указать. Я не хотел знать точное количество строк, которые будут возвращаться, я просто хотел знать, будет ли он возвращать строки, которые были между 1 и 100 или если он будет возвращать строки от min(UserId) до 1 и от 100 до max(UserId) .

Ответы [ 2 ]

13 голосов
/ 20 июня 2009
a BETWEEN b AND c

является сокращением для

b <= a and a <= c

Таким образом, между 100 и 1 ничего не будет совпадать.

1 голос
/ 20 июня 2009

Это, вероятно, зависит от вашей RDBMS, но почему бы просто не попробовать? В MySQL я не получаю строк из запроса между 100 и 1, тогда как я получаю строки из запроса между 1 и 100.

...