Субд лекции

Темы:

Запросы на выборку

SELECT * FROM kadr WHERE vozr = 40 AND pol = "м";

Оператор SELECT оперирует над множествами и результатом обработки в общем случае является множество строк. К этим множествам могут быть применены теоретико-множественные операции объединение (UNION), пересечение (INTERSECTION), разность (DIFFERENCE, MINUS, EXCEPT) и др. В разных реализациях языка SQL наборы теоретико-множественных операций различаются.

Язык SQL позволяет запрашивать вычисляемые значения. В этом случае в предложении SELECT указывается выражение для вычисления значения колонки. Например, в приведенном ниже предложении запрашивается вывод стоимости поставленных товаров путем ее вычисления на основе хранящихся в таблице «Postypl» данных о количестве (kolv) поставленных товаров и их цены {репа):

SELECT naimprod, datapost, kolv*cena

FROMpostypl;

Запрос может быть простым, состоящим из одного оператора SELECT, и вложенным, когда один оператор SELECT включается в состав другого оператора. Этот включенный оператор называется подзапросом (subselect) или подчиненным запросом. Существуют два типа вложенных подзапросов: обычный и коррелированный. В обычном подзапросе внутренний запрос выполняется первым, и его результат используется для выполнения основного запроса. В коррелированном подзапросе внешний запрос выполняется первым, и его результат используется для выполнения внутреннего запроса. Внутренний запрос выполняется для каждой строки, возвращенной внешним запросом.

В запросе можно указать упорядоченность ответа по определенному признаку (полю, совокупности полей, выражению).

Возможна подгруппировка данных в целях получения подытогов или других обобщающих величин (среднее, минимум, максимум и др.). Набор агрегатных функций отличается в разных системах. В стандарт SQL-92 включены следующие агрегатные функции: Count - подсчет, Avg - среднее, Sum - сумма, Мах - максимум, Min - минимум.

предыдущаяследующая