Структурированный язык запросов SQL основан па реляционном исчислении с переменными кортежами. Язык имеет несколько стандартов, наиболее распространенными из которых являются SQL-89 и SQL-92
SQL предназначен для выполнения операций над таблицами (создание, удаление, изменение структуры) и над данными таблиц (выборка, изменение, добавление и удаление), а также некоторых сопутствующих операций. SOL является непроцедурным языком и не содержит имеющихся в обычных языках программирования операторов управления, организации подпрограмм, ввода-вывода и т.п. В связи с этим SOL автономно не используется, а обычно погружен в в среду встроенного языка программирования СУБД (например, языка FoxPro СУБД Visual FoxPro) или даже процедурного языка типа C++ или Pascal.
В современных СУБД с интерактивным интерфейсом можно создавать запросы, не применяя SOL. Однако его применение в некоторых случаях позволяет расширить возможности использования СУБД. К примеру при подготовке запроса в среде Access можно перейти из окна конструктора запросов (задания запроса по образцу) в окно с эквивалентным
245
оператором SQL. Подготовку нового запроса путем редактирования уже имеющегося в ряде случае проще выполнить путем изменения оператора SQL
К числу основных операторов усеченного подмножества SQL относятся следующие:
К дополнительным операторам SQL относятся следующие:
Рассмотрим подробнее важнейший из перечисленных операторов - оператор SELECT.
В упрощенном виде оператор имеет следующий формат:
SELECT [ALL|DISTINCT]
FROM
[WHERE ]
[GROUP BY [, ]...]
[HAVING ]
[ORDER BY [,]...]
Оператор SELECT позволяет выполнять выборку и вычисления над данными одной или нескольких таблиц. Результатом выполнения оператора является ответная таблица, которая может иметь (ALL) или не иметь (DISTINCT) повторяющиеся строки.
В списке данных можно задавать имена столбцов и выражения над ними, к примеру арифметические. Если записи отбираются из нескольких таблиц, то используют составные имена .
Пример. Имеется таблица Goods (товары) с полями: Code (код), Name (наименование) и Cost (стоимость). Требуется вывести стоимости и коды товаров, стоимость которых не превышает 500 единиц.
Для решения поставленной задачи можно записать оператор SELECT следующим образом:
SELECT Code, Cost
FROM Goods
WHERECosf
В различных СУБД состав операторов SQL может несколько отличаться от рассмотренного нами.
246
244 :: 245 :: 246 :: Содержание