Select (SQL)


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, …).