Формат оператора SELECT.
Оператор SELECT – один из наиболее важных и самый используемый оператор SQL. Он позволяет производить выборки данных из отношений базы данных и преобразовывать к нужному виду полученные результаты. Это очень мощный оператор. При его помощи можно реализовать весьма сложные и громоздкие условия выбора данных из различных таблиц.
Оператор SELECT - средство, которое полностью абстрагировано от вопросов представления данных; все внимание при его применении сконцентрировано на проблемах доступа к данным.
Оператор SELECT имеет следующий формат:
SELECT [DISTINCT | ALL] {* | <значение1> [, <значение2> ...]}
FROM <таблица1> [, < таблица2> ...]
[WHERE <условия_поиска>]
[GROUP BY столбец [COLLATE collation]
[, столбец1 [COLLATE collation] ...]
[HAVING <условия_поиска>]
[UNION <onepaTop_select>]
[PLAN <план_выполнения_запроса>]
[ORDER BY <список_столбцов>]
Этот формат с первого взгляда достаточно громоздок и кажется поэтому сложным. Такое впечатление при дальнейшем изучении оператора SELECT наверняка покажется Вам неверным. Поэтапно рассмотрим возможности, которые предоставляет оператор SELECT.
10.3. Простейший вид оператора SELECT (SELECT…FROM).
В простейшем случае оператор SELECT имеет вид:
SELECT {* | <значение1> [, <значение2> ...]}
FROM <таблица1> [, < таблица2> ...]
После ключевого слова FROM приводится список таблиц базы данных, из которых будет происходить выборка данных.
С точки зрения реляционной алгебры данный оператор выполняет операции проекции.
После ключевого слова SELECT приводится список значений. Каждое из них определяет столбец результирующего набора данных, возвращаемого оператором SELECT. В большинстве случаев это имена столбцов таблиц, перечисленных после слова FROM. Звездочка '*' указывает, что в результат выполнения запроса нужно включить все столбцы той или иной таблицы.
ПРИМЕР
Выдать набор данных из всех атрибутов и всех кортежей отношения Readers.
SELECT *
FROM Readers
Что эквивалентно
SELECT Code, FamilyName, Name, Patronymic, ReaderCardNumber,
PasportCode, Job, Post, Note
FROM Readers
Таблица 10.1.
Результат выполнения запроса SELECT * FROM Readers.
Code | FamilyNamе | Name | Patronymic | ReaderCardNumber | PasportCode | Job | Post | Note |
Иванов | Петр | Иванович | ДГУ, каф. ЭВТ | Ассистент | blob | |||
Федорец | Ирина | Олеговна | ДГУ, АХЧ | Вахтер | blob | |||
Ильин | Иван | Петрович | ДГУ, каф. физики | Доцент | blob | |||
Суренко | Дмитрий | Павлович | ДГУ, каф. геофизики | Ст. преподава-тель | blob | |||
Коршунова | Наталья | Юрьевна | ДГУ, каф.гео-информа-тики | Ассистент | blob | |||
Носенко | Олег | Владими-рович | ДГУ, ИКК | Инженер | blob |