Отслеживание отсутствия значений (NULL)

Проверка на соответствие шаблону (LIKE)

Проверка на членство во множестве (IN)

Проверка на принадлежность диапазону значений (BETWEEN)

Синтаксис:

<выражение1> [NOT] BETWEEN <выражение2> AND <выражение3>

Данная проверка возвращает True (Истина), если:

<выражение1> Î[<выражение2>;<выражение3>]

Чаще всего <выражение1> - имя столбца таблицы, <выражение2>, <выражение3> - константы.

Пример 10. Вывести названия мелодий с кодами (ID) от 5 до 15 включительно.

SELECT ID, NAZV

FROM MELODII

WHERE ID BETWEEN 5 AND 15

Синтаксис:

<выражение> [NOT] IN (<выражение1>[,<выражение2>][,…])

Данная проверка возвращает True (Истина), если <выражение> равно одному из выражений в круглых скобках.

Чаще всего <выражение> - имя столбца таблицы, <выражение1>, <выражение2> и т.д. - константы.

Примечание. Вместо списка значений в круглых скобках может быть вложенный запрос SELECT, возвращающий такой список. Вложенные запросы будут рассмотрены позже.

Пример 11. Вывести номера телефонов, принадлежащих контактам с кодами (ID) 1, 2, 4, 5.

SELECT NOMER, KONT_ID

FROM NOMERA

WHERE KONT_ID IN (1,2,4,5)

Пример 12. Вывести номера телефонов, не принадлежащих контактам с кодами 1, 2, 4, 5.

SELECT NOMER, KONT_ID

FROM NOMERA

WHERE KONT_ID NOT IN (1,2,4,5)

Используется только для текстового типа данных.

Синтаксис:

<проверяемое значение> [NOT] LIKE <шаблон>

Данная проверка возвращает True (Истина), если проверяемое значение соответствует шаблону (похоже на шаблон).

В качестве проверяемого значения обычно выступает имя столбца таблицы, для которого установлен текстовый тип данных.

Шаблон представляет собой текстовое значение (заключенное в кавычки) с подстановочными символами «*» (звездочка) и/или «?» (вопросительный знак). Символ «*» в шаблоне заменяет любое количество (даже ноль) любых символов, а символ «?» заменяет один любой символ в конкретной позиции. Примеры шаблонов и соответствующие им текстовые значения приведены в таблице 13.1


Таблица 13.1 – Примеры шаблонов

Шаблон Соответствующие текстовые строки
«*» Любые (даже пустые) строки
«????» Строки, состоящие из 4 любых символов
«*а*» Строки, в которых есть символ «а»
«*я?» Строки, в которых предпоследний символ «я»

Пример 13. Вывести номера телефонов оператора TELE2 с кодом 953.

SELECT NOMER

FROM NOMERA

WHERE NOMER LIKE “*(953)*”

Как уже говорилось выше, если в некоторой ячейке таблицы значение отсутствует, то говорят, что значение в этой ячейке есть NULL.

Для того чтобы отследить такие ситуации, необходимо использовать конструкцию следующего вида:

<имя столбца> IS [NOT] NULL

Данная проверка возвращает True (Истина), если в указанном столбце значение отсутствует.

Пример 14. Вывести список групп контактов, для которых не указана мелодия.

SELECT ID, NAZV, MEL_ID

FROM GRUPPY

WHERE MEL_ID IS NULL

Примечание. Выражение вида <значение> = NULL не является синтаксической ошибкой, но всегда будет возвращать NULL (Неизвестно) и никогда True (Истина).


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: