Оператор SELECT извлекает ноль или более строк из одной или нескольких таблиц базы данных или представлений базы данных . В большинстве приложений SELECT
это наиболее часто используемая команда языка обработки данных (DML). Поскольку SQL является декларативным языком программирования , SELECT
запросы определяют результирующий набор, но не указывают, как его вычислить. База данных преобразует запрос в « план запроса », который может различаться в зависимости от выполнения, версии базы данных и программного обеспечения базы данных. Эта функция называется « оптимизатором запросов », поскольку она отвечает за поиск наилучшего возможного плана выполнения запроса в рамках применимых ограничений.
SELECT
является наиболее распространенной операцией в SQL, называемой «запрос». SELECT
извлекает данные из одной или нескольких таблиц или выражений. Стандартные SELECT
операторы не имеют постоянного воздействия на базу данных. Некоторые нестандартные реализации SELECT
могут иметь постоянные последствия, например SELECT INTO
синтаксис, представленный в некоторых базах данных. [4]
Запросы позволяют пользователю описывать нужные данные, предоставляя системе управления базами данных (СУБД) возможность выполнять планирование , оптимизацию и выполнение физических операций, необходимых для получения желаемого результата по своему выбору.
Запрос включает список столбцов, которые должны быть включены в окончательный результат, обычно сразу после SELECT
ключевого слова. Звездочку (" *
") можно использовать, чтобы указать, что запрос должен возвращать все столбцы запрошенных таблиц. SELECT
— это самый сложный оператор SQL с необязательными ключевыми словами и предложениями, в том числе:
Следующий пример запроса SELECT
возвращает список дорогих книг. Запрос извлекает все строки из таблицы Book , в которых столбец цены содержит значение больше 100,00. Результат сортируется в порядке возрастания по заголовку . Звездочка (*) в списке выбора указывает, что все столбцы таблицы Book должны быть включены в набор результатов.
Пример ниже демонстрирует запрос нескольких таблиц, группировку и агрегирование, возвращая список книг и количество авторов, связанных с каждой книгой.