Операторы специфические для языка SQL

Здесь вы найдете информацию по операторам специфическим для языка SQL, которые не встречаются или не встречаются в этом виде в других языках программирования.

* - все столбцы таблицы данных

Синтаксис

    *

Описание:

    * является синонимом для всех полей строки таблицы данных, используется для сокращения количества текста.

    Пример:

SELECT *
FROM torder; 

Выбирает все строчки и все поля таблицы troder.

ALL - все строчки таблицы данных

Синтаксис

Описание:

    ALL используется для того, чтобы выбирать все (без исключений) значения/строки результирующей таблицы данных.

    Пример:

SELECT *
FROM tkunden
WHERE rating > ALL ( SELECT rating FROM tkunden WHERE stadt='Berlin'
); 

Выбрать всех клиентов, рейтинг которых больше чем рейтинг всех клиентов из Берлина.

ANY - некоторые

Синтаксис

Описание:

    ANY и SOME являются синонимами. Используется для того, чтобы применять логический оператор к некоторым значениям справо от него.

    Пример:

SELECT *
FROM tkunden
WHERE rating > ANY ( SELECT rating FROM tkunden WHERE stadt='Berlin'
); 

Выбрать всех клиентов, рейтинг которых больше чем рейтинг хотя бы одного из клиентов из Берлина.

BETWEEN - между двумя значениями

Синтаксис

Описание:

    WW BETWEEN W1 AND W2 имеет значение 'истина', если значение WW находится между W1 и W2.

    Пример:

SELECT vnum,anz,preis
FROM torder
WHERE preis BETWEEN 100 AND 500;

Здесь выбираются поля vnum, anz и preis таблицы torder, где поле preis имеет значение не меньше 100 и не больше 500.

EXISTS - существует

Синтаксис

Описание:

    EXISTS используется вместе с подзапросами SELECT включенными в главный
    запрос и
    имеет значение истина, если подзапрос возвращает данные, и - ложь, если
    подзапрос не
    возвращает данных.

    Пример:

SELECT DISTINCT knum
FROM tkunden outer
WHERE EXISTS
( SELECT * FROM tkunden inner
WHERE inner.vnum=outer.vnum AND inner.knum<&gt;outer.knum ); 

Здесь выбираются те клиенты (knum), которые обслуживаются
более чем одним продавцом.

IN - один из

Синтаксис

Описание:

    WW IN ( значение [,...] ) указывает базе данных, что поле WW должно иметь одно из указанных значений.

    Пример:

SELECT *
FROM torder
WHERE preis IN (100,200,300,400,500);

Здесь выбираются все строки таблицы torder, где поле preis имеет одно из значений 100, 200, 300, 400 или 500.

IS NULL - без конкретного значения

Синтаксис

Описание:

    С помощью этого оператора можно специально выбирать строки таблиц данных с пустыми (не имеющими значения) полями или же исключать их из результата запроса.

    Пример:

SELECT *
FROM tkunden
WHERE stadt IS NOT NULL; 

Здесь выбираются все клиенты, у которых поле stadt имеет какое-либо значение.

LIKE - похожи на

Синтаксис

    LIKE форматная строка

Описание:

    LIKE используется только с полями типа CHAR или VARCHAR. Для форматной строки используются следующие конвенции :
    _ (символ подчеркивания) указывает на то, что на этом месте допускаются любые символы
    % (процент) указывает на то, что на этом месте допускаются любые комбинации символов (wildcard)

    Пример:

SELECT *
FROM tkunden
WHERE kname LIKE 'G%'; 

Выбрать всех клиентов с именем начинающимся с G.

MATCHES - выглядит как (informix)

Синтаксис:

    MATCHES форматная строка

Описание:

    MATCHES используется только с полями типа CHAR или VARCHAR. Для форматной строки используются следующие конвенции :
    ? (знак вопроса) указывает на то, что на этом месте допускаются любые символы
    * (звездочка) указывает на то, что на этом месте допускаются любые комбинации символов (wildcard)
    [множество символов] - квадратные скобки с указанным в них множеством символов указывают на допустимые на этом месте символы

SOME - некоторые из

Синтаксис

Описание:

    ANY и SOME являются синонимами. Используется для того, чтобы применять логический оператор к некоторым значениям справо от него.

    Пример:

SELECT *
FROM tkunden
WHERE rating > SOME ( SELECT rating FROM tkunden WHERE
stadt='Berlin' ); 

Выбрать всех клиентов, рейтинг которых больше чем рейтинг хотя бы одного из клиентов из Берлина.