Принадлежность множеству
Оператор IN используется для сравнения некоторого значения со списком заданных значений, при этом проверяется, соответствует ли результат вычисления выражения одному из значений в предоставленном списке. При помощи оператора IN может быть достигнут тот же результат, что и в случае применения оператора OR, однако оператор IN выполняется быстрее. Пример. Вывести список клиентов из Москвы или из Самары SELECT Фамилия, ГородКлиента FROM Клиент WHERE ГородКлиента IN (‘Москва’, ‘Самара’)
NOT IN используется для отбора любых значений, кроме тех, которые указаны в представленном списке. Пример. Вывести список клиентов, проживающих не в Москве и не в Самаре. SELECT Фамилия, ГородКлиента FROM Клиент WHERE ГородКлиента Not IN (‘Москва’,’Самара’)
Соответствие шаблону С помощью оператора LIKE можно выполнять сравнение выражения с заданным шаблоном, в котором допускается использование символов-заменителей: · Символ % – вместо этого символа может быть подставлено любое количество произвольных символов. · Символ _ заменяет один символ строки. · [] – вместо символа строки будет подставлен один из возможных символов, указанный в этих ограничителях. · [^] – вместо соответствующего символа строки будут подставлены все символы, кроме указанных в ограничителях. Пример. Найти клиентов, у которых в номере телефона вторая цифра – 4.
SELECT Клиент.Фамилия, Клиент.Телефон FROM Клиент WHERE Клиент.Телефон Like ‘_4%’ Пример. Найти клиентов, у которых в номере телефона вторая цифра – 2 или 4. SELECT Клиент.Фамилия, Клиент.Телефон FROM Клиент WHERE Клиент.Телефон Like ‘_[24]%’ Пример. Найти клиентов, у которых в номере телефона вторая цифра 2, 3 или 4.
SELECT Клиент.Фамилия, Клиент.Телефон FROM Клиент WHERE Клиент.Телефон Like ‘_[2-4]%’ Пример. Найти клиентов, у которых в фамилии встречается слог "ро". SELECT Клиент.Фамилия FROM Клиент WHERE Клиент.Фамилия Like ‘%ро%’ Пример. Найти фамилии, начинающиеся на буквы вне диапазона от A до M: SELECT au_lname FROM authors WHERE au_lname LIKE ‘[^A-M]%’
Значение NULL Неопределенное значение интерпретируется в реляционной модели как значение, неизвестное на данный момент времени. NULL – это не то же самое, что знак пробела (пробел – допустимый символ) или ноль (0 – допустимое число). NULL отличается и от строки нулевой длины (пустой строки). Это значение при появлении дополнительной информации в любой момент времени может быть заменено на некоторое конкретное значение. Оператор IS NULL используется для сравнения текущего значения с NULL – специальным значением, указывающим на отсутствие любого значения. При сравнении неопределенных значений не действуют стандартные правила сравнения: одно неопределенное значение никогда не считается равным другому неопределенному значению. Для выявления равенства значения некоторого атрибута неопределенному применяют специальные стандартные предикаты:
< имя атрибута >IS NULL и < имя атрибута > IS NOT NULL.
Если в данном кортеже (в данной строке) указанный атрибут имеет неопределенное значение, то предикат IS NULL принимает значение "Истина" (TRUE), а предикат IS NOT NULL — "Ложь" (FALSE), в противном случае предикат IS NULL принимает значение "Ложь", а предикат IS NOT NULL принимает значение "Истина". Введение Null-значений вызвало необходимость модификации классической двузначной логики и превращения ее в трехзначную. Все логические операции, производимые с неопределенными значениями, подчиняются этой логике в соответствии с заданной таблицей истинности:
В условиях поиска могут быть использованы все рассмотренные выше предикаты.
Пример. Найти сотрудников, у которых нет телефона (поле Телефон не содержит никакого значения). SELECT Фамилия, Телефон FROM Клиент WHERE Телефон Is Null IS NOT NULL используется для проверки присутствия значения в поле. Пример. Выборка сотрудников, у которых есть телефон (поле Телефон содержит какое-либо значение). SELECT Клиент.Фамилия, Клиент.Телефон FROM Клиент WHERE Клиент.Телефон Is Not Null
Читайте также: Задание 3. Определите стиль, подстиль, а также возможную жанровую принадлежность данного отрывка. Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|