Оператор BETWEEN используется с оператором WHERE для сопоставления значений в указанном диапазоне. Например:
1 2 3 |
SELECT item, amount FROM Orders WHERE amount BETWEEN 300 AND 500; |
Здесь мы выбираем все заказы с суммами от 300 до 500, включая 300 и 500.
Оператор NOT BETWEEN в SQL
Оператор NOT BETWEEN используется для исключения строк, соответствующих значениям в указанном диапазоне. Он возвращает все строки, кроме исключенных. Например:
1 2 3 |
SELECT item, amount FROM Orders WHERE amount NOT BETWEEN 300 AND 500; |
Здесь мы выбираем все заказы, кроме строк с суммами от 300 до 500.
Оператор BETWEEN и работа с текстом
Оператор BETWEEN
также может работать и с текстовыми данными. Например:
1 2 3 |
SELECT item, amount FROM Orders WHERE item BETWEEN 'I' AND 'L'; |
Здесь мы выбираем все заказы, в которых название позиции (товара) находится между буквами I
и L
.
Вот список значений, который выберет вышеуказанная команда с условием, что название товара должно начинаться с буквы L
:
Текст | Примечание |
L | выберет |
Laptop | не выберет |
Lan Cable | не выберет |
Lamp | не выберет |
Laptop, Lan Cable и Lamp не подходят по той причине, что условие заканчивается на букве L
, а всё, что указано после буквы L
— уже выходит за границы (границей является буква L
) и не соответствует условию.
Если нужно включить все слова, начинающиеся с буквы L
, тогда нужно добавить знак тильда ~
:
1 2 3 |
SELECT item, amount FROM Orders WHERE item BETWEEN 'I' AND 'L~'; |
Давайте рассмотрим другой пример использования оператора BETWEEN
с текстом:
1 2 3 |
SELECT item FROM Orders WHERE item BETWEEN 'Key' AND 'Mou'; |
Здесь подойдут слова Keyboard и Monitor, но не подойдет Mouse по той причине, что Mouse выходит за границу Mou частью se. А Monitor подходит из-за того, что третья буква слова n расположена в английском алфавите до буквы u (Mou), поэтому за границы мы не выходим и, соответственно, слово принимается.