Формат оператора 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