Выберите (SQL)


Оператор SELECT извлекает ноль или более строк из одной или нескольких таблиц базы данных или представлений базы данных . В большинстве приложений SELECTэто наиболее часто используемая команда языка обработки данных (DML). Поскольку SQL является декларативным языком программирования , SELECTзапросы определяют результирующий набор, но не указывают, как его вычислить. База данных преобразует запрос в « план запроса », который может различаться в зависимости от выполнения, версии базы данных и программного обеспечения базы данных. Эта функция называется « оптимизатором запросов », поскольку она отвечает за поиск наилучшего возможного плана выполнения запроса в рамках применимых ограничений.

SELECTявляется наиболее распространенной операцией в SQL, называемой «запрос». SELECTизвлекает данные из одной или нескольких таблиц или выражений. Стандартные SELECTоператоры не имеют постоянного воздействия на базу данных. Некоторые нестандартные реализации SELECTмогут иметь постоянные последствия, например SELECT INTOсинтаксис, представленный в некоторых базах данных. [4]

Запросы позволяют пользователю описывать нужные данные, предоставляя системе управления базами данных (СУБД) возможность выполнять планирование , оптимизацию и выполнение физических операций, необходимых для получения желаемого результата по своему выбору.

Запрос включает список столбцов, которые должны быть включены в окончательный результат, обычно сразу после SELECTключевого слова. Звездочку (" *") можно использовать, чтобы указать, что запрос должен возвращать все столбцы запрошенных таблиц. SELECT— это самый сложный оператор SQL с необязательными ключевыми словами и предложениями, в том числе:

Следующий пример запроса SELECTвозвращает список дорогих книг. Запрос извлекает все строки из таблицы Book , в которых столбец цены содержит значение больше 100,00. Результат сортируется в порядке возрастания по заголовку . Звездочка (*) в списке выбора указывает, что все столбцы таблицы Book должны быть включены в набор результатов.

Пример ниже демонстрирует запрос нескольких таблиц, группировку и агрегирование, возвращая список книг и количество авторов, связанных с каждой книгой.