Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
BD_KURS_WIN / Оператор SELECT.doc
Скачиваний:
31
Добавлен:
10.04.2015
Размер:
69.12 Кб
Скачать

Предложение select

Предложение SELECT стоит первым в синтаксической структуре, однако не является первым логическим исполняемым шагом. Результатом выполнения других предложений оператора (источников строк) являются наборы строк, из которых должны быть получены выходные данные. Предложение SELECT определяет, какие столбцы этих строк относится к выходным данным. SELECT может возвращать как сами значения столбцов, так и использовать их в составе агрегатных функций или других выражений. Выражения значений могут относиться к данным типа NUMERIC, STRING, DATУTIME или INTERVAL. Кроме того, они могут включать в себя выражения CAST и CASE, агрегатные функции и подзапросы. Если задан квалификатор DISTINCT, строки сравниваются, и при обнаружении строки-дубликата в результате будет возвращена только одна копия строки. Предложение SELECT может содержать: Агрегатные функции, которые служат для получения единственного Значения из группы значений столбца. Например, SUM или COUNT. Символ "*", который означает, что все столбцы всех таблиц, приведенные в списке предложения FROM, являются выходными данными и размещаются в порядке их перечисления в предложении FROM. В последовательности "квалификатор.*", где квалификатор означает имя таблицы или имя корреляции, на которое имеется ссылка в предложении FROM. (Корреляция осуществляется через псевдоним для таблицы в зависимом подзапросе.) Все столбцы этой таблицы (возможно производной) являются выходными данными, исключая общие столбцы соединяемых таблиц. (В стандартном синтаксисе данного параметра есть некоторая неопределенность, однако это точное выражение, приведенное в стандарте ISO). Выражение для вычисления значения оператора SELECT обычно содержит имя столбца одной из таблиц, указанных в предложении FROM. При этом значения столбца либо являются выходными данными без преобразований, либо становятся частью выражения, например, AMOUNT*3. Имя столбца, указанное в предложении AS, является именем столбца выходных данных (столбец-результат). Если выходные столбцы получены из одною (и только одного) столбца, указанного в предложении FROM, то они наследуют имя этого столбца по умолчанию. При желании можно переопределить это имя с помощью предложения AS. Способы присвоения имен столбцов не "напрямую" от исходных зависят от конкретного приложения. Стандарт не требует присвоения имени каждому столбцу-результату, полученному с помощью предложения SELECT. Однако имена столбцов могут оказаться необходимыми для точного определения способов использования выходных данных (как, например, в представлении). Ключевое слово AS согласно стандарту можно и опустить, оно неявно подразумевается. Если агрегатные функции и выражения значений употребляются совместно, то все выражения должны указываться в предложении GROUP BY.

Агрегатные функции

Агрегатные функции, иногда называемые функциями множества, в качестве исходных параметров принимают группу значений, указанных в запросе (или в подзапросе) в предложении SELECT или HAVING, и вычисляют единственное значение-результат. Исходной группой значений может быть группа, определенная с помощью предложения GROUP BY, или все значения, полученные в результате запроса. (Запросы служат для получения информации из базы данных и обычно реализуются в SQL с помощью оператора SELECT. Предполагается, что пользователь знаком с основными правилами построения запроса.)

AVG – возвращает среднее значение в указанном столбце

AVG ([DISTINCT] имя_столбца)

Вычисляет среднее значение в столбце из выборки. Среднее значение - это сумма значений столбца по всем строкам выборки, разделенная на число строк. При вычислении учитываются нулевые значения столбца. Если число строк, подходящих под условия поиска, равно нулю, AVG возвращает нулевое значение. DISTINCT игнорирует дублирующиеся значения указанного столбца при вычислении среднего значения.

Соседние файлы в папке BD_KURS_WIN