Далила
Самая распространенная операция в SQL - это запрос, который выполняется с помощью декларативного оператора SELECT. SELECT извлекает данные из одной или нескольких таблиц или выражений. Стандартные операторы SELECT не оказывают постоянного воздействия на базу данных. Некоторые нестандартные реализации SELECT могут иметь постоянные эффекты, такие как синтаксис SELECT INTO, который существует в некоторых базах данных. [10]
Запросы позволяют пользователю описывать желаемые данные, оставляя систему управления базами данных (СУБД) ответственной за планирование, оптимизацию и выполнение физических операций, необходимых для получения желаемого результата.
Запрос включает список столбцов, которые должны быть включены в окончательный результат, сразу после ключевого слова SELECT. Звездочка («*») также может использоваться для указания, что запрос должен возвращать все столбцы запрошенных таблиц. SELECT - самый сложный оператор в SQL с необязательными ключевыми словами и предложениями, которые включают:
Предложение FROM, которое указывает таблицы, из которых должны быть получены данные. Предложение FROM может включать необязательные подпункты JOIN для определения правил объединения таблиц.
Предложение WHERE включает предикат сравнения, который ограничивает строки, возвращаемые запросом. Предложение WHERE удаляет все строки из набора результатов, для которых предикат сравнения не имеет значения True.
Предложение GROUP BY используется для проецирования строк, имеющих общие значения, в меньший набор строк. GROUP BY часто используется в сочетании с функциями агрегирования SQL или для удаления повторяющихся строк из набора результатов. Предложение WHERE применяется перед предложением GROUP BY.
Предложение HAVING включает предикат, используемый для фильтрации строк, являющихся результатом предложения GROUP BY. Поскольку он действует на результаты предложения GROUP BY, функции агрегирования могут использоваться в предикате предложения HAVING.
Предложение ORDER BY определяет, какие столбцы используются для сортировки результирующих данных и в каком направлении они должны быть отсортированы (варианты - по возрастанию или по убыванию). Без предложения ORDER BY порядок строк, возвращаемых запросом SQL, не определен.
Ниже приведен пример запроса SELECT, который возвращает список дорогих книг. Запрос извлекает все строки из таблицы Book, в которой столбец цен содержит значение больше 100,00. Результат сортируется по заголовку в порядке возрастания. Звездочка (*) в списке выбора указывает, что все столбцы таблицы Book должны быть включены в набор результатов.