Операторы IN, BETWEEN, LIKE, is NULL
Построенный с использованием IN предикат (условие) считается истинным, если значение поля, имя которого указано слева от IN, совпадает (подразумевается точное совпадение) с одним из значений, перечисленных в списке, указанном в скобках справа от IN.
Предикат, построенный с использованием NOT IN, считается истинным, если значение поля, имя которого указано слева от NOT IN, не совпадает ни с одним из значений, перечисленных в списке, указанном в скобках справа от NOT IN.
Примеры
Получить из таблицы EXAM_MARKS сведения о студентах, имеющих экзаменационные оценки только 4 и 5.
SELECT *
FROM EXAM_MARKS WHERE MARK Ш (4, 5 ) ;
Получить сведения о студентах, не имеющих ни одной экзаменационной оценки, равной 4 и 5.
SELECT *
FROM EXAM_MARKS
WHERE MARK NOT Ш (4, 5 ) ;
Оператор BETWEEN используется для проверки условия вхождения значения поля в заданный интервал, то есть вместо списка значений атрибута этот оператор задает границы его изменения.
Например, запрос на вывод записей о предметах, на изучение которых отводится количество часов, находящееся в пределах между 30 и 40, имеет вид: SELECT *
FROM SUBJECT
WHERE HOUR BETWEEN 30 AND 40;
Граничные значения, в данном случае значения 30 и 40, входят во множество значений, с которыми производится сравнение. Оператор BETWEEN может использоваться как для числовых, так и для символьных типов полей.
Оператор LIKE применим только к символьным полям типа CHAR или VARCHAR (см. раздел 1.5 «Типы данных SQL»).
Этот оператор просматривает строковые значения полей с целью определения, входит ли заданная в операторе LIKE подстрока (образец поиска) в символьную строку-значение проверяемого поля.
Для выборки строковых значений по заданному образцу подстроки можно применять шаблон искомого образца строки, использующий следующие символы:
• символ подчеркивания «_», указанный в шаблоне, определя ет возможность наличия в указанном месте одного любого символа;
• символ «%» допускает присутствие в указанном месте прове ряемой строки последовательности любых символов про извольной длины.
Пример
Написать запрос, выбирающий из таблицы STUDENT сведения о студентах, фамилии которых начинаются на букву «Р».
SELECT *
FROM STUDENT
WHERE SURNAME LIKE 'P%';
В случае необходимости включения в образец самих символов «_» и «%» применяют так называемые escape-символы. Если escape-символ предшествует знаку «_» и «%», то эти знаки будут восприниматься буквально. Например, можно задать образец поиска с помощью следующего выражения:
LIKE '_\_P' ESCAPE 'V.
В этом выражении символ 'V с помощью ключевого слова ESCAPE объявляется escape-символом. Первый символ «_» в заданном шаблоне поиска '_\_Р' будет соответствовать, как и ранее, любому символу в проверяемой строке. Однако второй символ «_», следующий после символа 'V, объявленного escape-символом, уже будет интерпретироваться буквально как обычный символ, так же как и символ 'Р' в заданном шаблоне.
Обращаем внимание на то, что рассмотренные выше операторы сравнения «=, <, >, <=, >=, <>» и операторы IN, BETWEEN и LIKE ни в коем случае нельзя использовать для проверки содержимого поля на наличие в нем пустого значения NULL (см. раздел 1.5 «Типы данных SQL»). Для этих целей предназначены специальные операторы is NULL (является пустым) и IS NOT NULL (является не пустым).
| Maya 3D графика в кино и телевидении Воздействие испытаний ядерного оружия на здоровье населения Объектно-ориентированный язык программирования Java Объектно-ориентированное программирование Delphi Библиотека визуальных компонентов VCL и ее базовые классы Кроссплатформенное программирование для Linux Элементы управления Win32 Элементы управления Windows XP Файлы и устройства ввода/вывода Что такое экспертная система? Объектно-ориентированное программирование Инструментальные средства разработки экспертных систем Программирование на языке CLIPS Критерии и количественные характеристики надежности Расчет характеристик надежности невостанавливаемых резервированных изделий Расчет надежности системы с постоянным резервированием Интегрирование тригонометрических функций ; |