Синтаксис оператора SELECT
Выборка с помощью оператора SELECT - наиболее частая команда при работе с реляционной базой данных. Этот оператор обладает большими возможностями по заданию структуры выходной информации, указанию источников входной информации, способа упорядочения выходной информации, формированию новых значений и т.п. (табл. 19.9).
Таблица 19.9. Аргументы оператора SELECT
Аргумент | Назначение |
Предикат | Предикаты используются для ограничения числа возвращаемых записей: ALL – все записи; DISTINCT – записи, различающиеся в указанных для вывода полях; DISTINCTROW – полностью различающиеся записи по всем полям; ТОР – возврат заданного числа или процента записей в диапазоне, соответствующем фразе ORDER BY |
Таблица | Имя таблицы, поля которой формируют выходные данные |
Поле1, поле2 | Имена полей, используемых при отборе (порядок их следования определяет выходную структуру выборки данных) |
Псевдоним1, Псевдоним2 | Новые заголовки столбцов результата выборки данных |
FROM | Определяет выражение, используемое для задания источника формирования выборки (обязательно присутствует в каждом операторе) |
Внешняя база данных | Имя внешней базы данных – источника данных для выборки |
[WHERE... ] | Определяет условия отбора записей (необязательное) |
[GROUP BY... ] | Указание полей (максимум – 10) для формирования групп, по которым возможно вычисление групповых итогов; порядок их следования определяет виды итогов (старший, промежуточный и т.п.) – необязательное |
[HAVING... ] | Определяет условия отбора записей для сгруппированных данных (задан способ группирования GROUP BY...) – необязательное |
[ORDER BY... ] | Определяет поля, по которым выполняется упорядочение выходных записей; порядок их следования соответствует старшинству ключей сортировки. Упорядочение возможно как по возрастанию (ASC), так и по убыванию (DESC) значения выбранного поля |
[WITH OWNERACCESS OPTION] | При работе в сети в составе защищенной рабочей группы для указания пользователям, не обладающим достаточными правами, возможности просматривать результат Запроса или выполнять запрос |
При выполнении выборки могут формироваться и новые данные, так называемые вычисляемые поля, являющиеся результатом обработки исходных данных. Возможно упорядочение выводимых данных, формирование групп записей, подсчет групповых итогов, формирование подмножеств данных (записей), являющихся основой для формирования условий по обработке следующего этапа – вложенных запросов.
Универсальный оператор SELECT имеет следующую конструкцию:
SELECT [предикат] { * | таблица.* | [таблица.]поле1 [, [таблица.]поле2.[,...]]}
[AS псевдоним1 [, псевдоним2 [,...]]]
FROM выражение [,...] [IN внешняя_база_данных]
[WHERE... ]
[GROUP BY... ]
[HAVING... ]
[ORDER BY...]
[WITH OWNERACCESS OPTION]
Синтаксис оператора SELECT весьма лаконично реализует сложные алгоритмы запросов. Практическое освоение элементов постепенное – методом от простого к сложному, а отладка оператора сложной конструкции может идти по частям.
Изучать оператор SELECT лучше всего на конкретных примерах. Слово SELECT определяет структуру выводимой информации, это могут быть поля таблиц, вычисляемые выражения.
Вычисляемое выражение состоит из:
полей таблиц;
констант;
знаков операций;
встроенных функций;
групповых функций SQL.