Предикаты IN (в) и NOT IN (не в) применяются для проверки вхождения какого-либо значения в заданный список значений. Например, для выборки записей о клиентах из некоторых регионов можно использовать такое выражение:
SELECT Имя, Адрес FROM Клиенты
WHERE Регион IN ('Северо-запад', 'Ставропольский край',
'Иркутская область');
Если требуется получить данные о всех клиентах не из Москвы и Северо-Запада, то можно использовать предикат NOT IN:
SELECT Имя, Адрес FROM Клиенты
WHERE Регион NOT IN ('Москва', 'Санкт-Петербург');
Предикаты LIKE (похожий) и NOT LIKE (не похожий) применяются для проверки частичного соответствия символьных строк. Например, столбец Телефон в некоторой таблице содержит полные номера телефонов, а вам требуется выбрать лишь те записи, в которых номера телефонов начинаются с 348 или содержат такое сочетание цифр.
Критерий частичного соответствия задается с помощью двух символов-масок: знака процента (%) и подчеркивания (_). Знак процента означает любой набор символов, в том числе и пустой, а символ подчеркивания — любой одиночный символ. Например, чтобы выбрать записи о клиентах, у которых номера телефонов начинаются с 348, можно использовать такое выражение:
SELECT Имя, Адрес, Телефон FROM Клиенты
WHERE Телефон LIKE '348%';
Допустим, столбец Адрес содержит полный почтовый адрес (индекс, название города, улицы и т. д.). Если вам требуется выбрать записи о клиентах, проживающих в Санкт-Петербурге, то для этого подойдет следующее выражение:
SELECT Имя, Адрес, Телефон FROM Клиенты
WHERE Адрес LIKE '%Санкт-Петербург%';
Если вы хотите исключить всех клиентов, проживающих в Москве, то воспользуйтесь таким выражением:
SELECT Имя, Адрес, Телефон FROM Клиенты
WHERE Адрес NOT LIKE '%Москва%';
Возможно, вам потребуется выбрать записи, срдержащие символы процента и/или подчеркивания. Тогда необходимо, чтобы такие символы воспринимались интерпретатором SQL не как символы-маски. Чтобы знак процента или подчеркивания воспринимался буквально, перед ним необходимо указать специальный управляющий символ. Этот символ можно определить произвольно, лишь бы он не встречался в качестве элемента данных. В следующем примере показано, как это можно сделать:
SELECT- Имя, Адрес, Процент_скидки FROM Клиенты
WHERE Процент_скидки LIKE '20#%'
ESCAPE '#';
Здесь за ключевым словом ESCAPE указывается символ, который используется в качестве управляющего. Таким же способом можно отключить и сам управляющий символ.