Пример 4.9. Список клиентов, проживающих не в Москве и не в Самаре.
Пример 4.8. Список клиентов из Москвы или из Самары
Принадлежность множеству
Пример 4.7. Список товаров, цена которых не лежит в диапазоне от 100 до 150.
Пример 4.6. Список товаров, цена которых лежит в диапазоне от 100 до 150.
При использовании отрицания NOT BETWEEN требуется, чтобы проверяемое значение лежало вне границ заданного диапазона.
Пример 4.7. Вывести список товаров, цена которых не лежит в диапазоне от 100 до 150.
SELECT Товар.Название, Товар.Цена
FROM Товар
WHERE Товар.Цена Not Between 100 And 150
Или (что эквивалентно)
SELECT Товар.Название, Товар.Цена
FROM Товар
WHERE (Товар.Цена<100) OR (Товар.Цена>150)
Оператор IN используется для сравнения некоторого значения со списком заданных значений, при этом проверяется, соответствует ли результат вычисления выражения одному из значений в предоставленном списке. При помощи оператора IN может быть достигнут тот же результат, что и в случае применения оператора OR, однако операторIN выполняется быстрее.
Пример 4.8. Вывести список клиентов из Москвы или из Самары (запрос эквивалентен примеру 4.5).
SELECT Фамилия, ГородКлиента
FROM Клиент
WHERE ГородКлиента in ("Москва", "Самара")
NOT IN используется для отбора любых значений, кроме тех, которые указаны в представленном списке.
Пример 4.9. Вывести список клиентов, проживающих не в Москве и не в Самаре.
SELECT Фамилия, ГородКлиента
FROM Клиент
WHERE ГородКлиента
Not in ("Москва","Самара")
С помощью оператора LIKE можно выполнять сравнение выражения с заданным шаблоном, в котором допускается использование символов-заменителей:
Символ % – вместо этого символа может быть подставлено любое количество произвольных символов.
Символ _ заменяет один символ строки.
[] – вместо символа строки будет подставлен один из возможных символов, указанный в этих ограничителях.
[^] – вместо соответствующего символа строки будут подставлены все символы, кроме указанных в ограничителях.
Пример 4.10. Найти клиентов, у которых в номере телефона вторая цифра – 4.
SELECT Клиент.Фамилия, Клиент.Телефон
FROM Клиент
WHERE Клиент.Телефон Like '_4%'
Пример 4.11. Найти клиентов, у которых в номере телефона вторая цифра – 2 или 4.