Delphi | Сети | ПК | Маршрутизаторы | Моделирование | Протоколы | Экспертные системы | Удаленный доступ | Доменные имена
Аплеты | SQL | Надежность | Задачи | Информационные процессы | JAVA | Отказы изделия | Расчет надежности показателей | Инфсис

Основные понятия и способы применения SQL - в примерах и задачах

SQL язык запросов к реляционным базам данных Учебник

Операторы 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 (является не пустым).

Математический анализ, лекции по физике Компьютерные сети