SQL: конструкция запроса SELECT
SELECT (выбрать) — вывести данные из всех или указанных столбцов и (если необходимо) выполнить перед выводом их преобразование в соответствии с указанными выражениями и (или) функциями. Под «что» подразумевается список имен столбцов таблиц или столбцов запроса (через запятую).
В квадратных скобках указаны необязательные части SQL-запроса, к которым в том числе относятся секции FROM и WHERE.
FROM (откуда) — из перечисленных таблиц, в которых расположены эти столбцы. Под «откуда» понимается список самих этих таблиц и подзапросы (также через запятую).
WHERE (где) — строки из указанных таблиц должны удовлетворять указанному перечню условий отбора данных. В секции WHERE перечисляются ограничения на значения столбцов, объединенные логическими операциями И (AND) и ИЛИ (OR). Фактически, в секции WHERE задается условие, которое может быть верным или неверным для каждой строки или комбинации строк таблицы в секции FROM.
GROUP BY (группируя по) — группировать по указанному перечню столбцов с тем, чтобы получить для каждой группы единственное агрегированное значение (показатель), используя в секции SELECT SQL-функции SUM (сумма), COUNT (количество), MIN (минимальное значение), MAX (максимальное значение) или AVG (среднее значение).
HAVING (имея) — иметь в результате лишь те группы, которые удовлетворяют указанному перечню условий отбора групп.
ORDER BY (сортировать по) — сортировать по указанному перечню столбцов.
Сразу можно заметить, что в условиях отбора строк допускается использовать не только те столбцы, что перечислены в секции SELECT, но и любые столбцы таблиц, перечисленных в секции FROM.
Запрос SELECT как правило может использоваться:
· как самостоятельная команда на получение и вывод строк таблиц, сформированной из столбцов и строк одной или нескольких таблиц (представлений).
[ORDER BY <элемент_сортировки> [, …] [ASC | DESC] | USING operator] [NULLS { FIRST | LAST } ] [, …] ] [<секция_ограничения_смещения_строк>]
Порядок следования секций и конструкций в запросе SELECT, как правило, не может быть изменен.
Логический порядок обработки основных элементов запроса SELECT:
1) FROM — определяются имена используемых объектов. При выборе данных из нескольких таблиц (опция JOIN) выполняется их соответствующее соединение; 2) WHERE — выполняется фильтрация строк объекта в соответствии с заданными условиями; 3) GROUP BY — образуются группы строк, имеющих одно и то же значение в указанном элементе (столбце); 4) HAVING — фильтруются группы строк объекта в соответствии с указанным условием; 5) оконные функции; 6) SELECT — устанавливается, какие элементы должны присутствовать в выходных данных; 7) DISTINCT — определяется, выводить все или только неповторяющиеся значения; 8) UNION — в случае объединения нескольких запросов; 9) ORDER BY — определяется упорядоченность результатов выполнения запроса; 10) секция_ограничения_смещения_строк — ограничивается числом возвращаемых строк.
Этот порядок определяет, когда объекты, определенные в одном шаге, становятся доступными для секций в последующих шагах.
Следует отметить, что фактическое физическое выполнение запроса определяется обработчиком запросов, и порядок выполнения действий из приведенного списка может значительно отличаться.
В большинстве СУБД в SQL-запросе две секции — SELECT и FROM — являются обязательными, все остальные могут быть опущены.
· 25.05
Коротко и по существу. Как я люблю. Отличная работа.
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
коммент удалён