Как SQL выбирает между двумя строками / текстами? - PullRequest
0 голосов
/ 18 января 2020

В SQL, если у меня есть следующий оператор выбора:

SELECT * FROM Products WHERE ProductName BETWEEN 'Geitost' AND 'Pavlova'

Он успешно работает и отображает выходные записи, но меня немного смущает, как мы можем искать между двумя строками и как SQL выполняет это,

, например, следующее утверждение выбора:

SELECT * FROM Products WHERE Price BETWEEN 100 AND 300

Понятно, что мы пытаемся найти все цены, цена которых равна 100 $ или больше, но меньше или равно 300 $

Может кто-нибудь объяснить, каков механизм выбора между двумя строками в SQL?

Заранее спасибо.

1 Ответ

0 голосов
/ 18 января 2020

Это слишком долго для комментария.

Ваш вопрос довольно странный. Этот код работает:

WHERE Price BETWEEN 100 AND 300

Он превращается в:

WHERE Price >= 100 AND Price <= 300

Аналогично, ваше первое условие эквивалентно:

WHERE ProductName >= 'Geitost' AND
      ProductName <= 'Pavlova'

Так что вопрос как сравниваются строки Краткий ответ «как они появляются в словаре». Конечно, в мире много словарей. Более полный ответ основан на сопоставлениях , которые описывают порядок строк в алфавитном порядке c.

Здесь - документация MySQL для сопоставлений и наборов символов , Хотя некоторые детали, такие как имена параметров сортировки и синтаксис для функций, могут различаться, идея одинакова для разных баз данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...