- •Точные числовые типы:
- •Integer;
- •Приблизительные числовые типы:
- •Is null;
- •Is null
- •1. Строковые функции
- •5.1. Подзапросы
- •Intersect
- •Intersect corresponding (id_компонента, Тип_компонента)
- •Insert into Клиенты (Имя, Адрес, Телефон)
- •Insert into Клиенты (Имя, Адрес, Телефон)
- •Id_студента integer,
- •Id_студента integer primary key,
- •Id_студента integer primary key,
- •Insert into Студент (Фамилия, Имя, Отчество, Специальность) values ('Петров', 'Петр', 'Петрович', 5);
- •Insert into Студент (Фамилия, Имя, Отчество, Специальность) values ('Петров', 'Петр', 'Иванович', 5);
- •Id_заказа integer,
- •Id_клиента integer,
-
between;
-
in, not in;
-
like, not like
-
Is null;
-
all, some, any;
-
exists;
-
unique;
-
distinct;
-
overlaps;
-
match;
-
SIMILAR.
BETWEEN
Предикат between (между) позволяет задать выражение проверки вхождения какого-либо значения в диапазон, определяемый граничными значениями. Например:
WHERE Сумма_заказа BETWEEN 100 AND 750
Здесь ключевое слово and представляет собой логический союз И. Граничные значения (в примере это 100 и 750) входят в диапазон. Причем первое граничное значение должно быть не больше второго.
Эквивалентным приведенному является выражение с предикатами сравнения:
WHERE Сумма_заказа >= 100 AND Сумма_заказа <= 750
Кроме данных числового типа, в выражениях с beetween можно использовать данные следующих типов: символьные, битовые, даты-времени. Так например, чтобы выбрать записи, в которых имена клиентов находятся в диапазоне от А до Ж, можно использовать такое выражение:
SELECT Имя, Адрес FROM Клиенты WHERE Имя BETWEEN 'A' AND 'Ж';
IN и NOT IN
Предикаты in (в) и not in (не в) применяются для проверки вхождения какого-либо значения в заданный список значений. Например, для выборки записей о клиентах из некоторых регионов можно использовать такое выражение:
SELECT.Имя, Адрес FROM Клиенты
WHERE Регион IN ('Северо-запад', 'Ставропольский край', 'Иркутская обл');
Если требуется получить данные о всех клиентах не из Москвы и Северо-запада, то можно использовать предикат not in:
SELECT Имя, Адрес FROM Клиенты
WHERE Регион NOT IN ('Москва', 'Санкт-Петербург');
LIKE и NOT LIKE
Предикаты 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 указывается символ, который используется в качестве управляющего. Таким же способом можно отключить и сам управляющий символ.