SELECT (от англ. select — «выбрать») — оператор запроса (DML/DQL) в языке SQL, возвращающий набор данных (выборку) из базы данных.
Оператор возвращает ноль или более строк. Список возвращаемых столбцов задается в части оператора, называемой предложением SELECT. Поскольку SQL является декларативным языком, запрос SELECT определяет лишь требования к возвращаемому набору данных, но не является точной инструкцией по их вычислению. СУБД транслирует запрос SELECT во внутренний план исполнения («query plan»), который может различаться даже для синтаксически одинаковых запросов и от конкретной СУБД.
Предложение SELECT
оператора SELECT
предназначено для определения результирующего набора столбцов, получаемого после вычисления табличного выражения в предложении FROM
и группировки в результате GROUP BY
(при наличии). Предложение SELECT
реализует операцию проекции, то есть указание подмножества столбцов из таблиц табличного выражения, а также операцию переименования столбцов и операцию добавления новых вычислимых столбцов.
Предложение FROM
используется для вычисления базового табличного выражения, которое затем используется остальными предложениями оператора SELECT
.
Предложение [[WHERE (SQL)|WHERE]]
используется для определения, какие строки должны быть выбраны из табличного выражения в предложении FROM
.
[[GROUP BY (SQL)|GROUP BY]]
— необязательное предложение оператора SELECT
, для группировки строк по результатам агрегатных функций (MAX
, SUM
, AVG
, …).