- •Содержание
- •8.1. Реляционное исчисление.
- •8.1.1. Введение.
- •8.1.2. Реляционное исчисление кортежей.
- •8.1.3. Реляционное исчисление доменов.
- •8.2. Знакомство с оператором select.
- •8.2.1. Запись sql-операторов.
- •8.2.2. Формат оператора select.
- •8.2.3. Простейший вид оператора select (select…from).
- •8.2.4. Использование предложения where.
- •8.2.5. Использование псевдонимов таблиц.
- •8.2.6. Предложение order by – определение сортировки.
- •Контрольные вопросы:
8.2.2. Формат оператора select.
Оператор SELECT – один из наиболее важных и самый используемый оператор SQL. Он позволяет производить выборки данных из отношений базы данных и преобразовывать к нужному виду полученные результаты. Это очень мощный оператор. При его помощи можно реализовать весьма сложные и громоздкие условия выбора данных из различных таблиц.
Оператор SELECT - средство, которое полностью абстрагировано от вопросов представления данных; все внимание при его применении сконцентрировано на проблемах доступа к данным.
Оператор SELECT имеет следующий формат:
SELECT [DISTINCT | ALL] {* | <значение1> [, <значение2> ...]}
FROM <таблица1> [, < таблица2> ...]
[WHERE <условия_поиска>]
[GROUP BY столбец [COLLATE collation}
[,столбец! [COLLATE collation] ...]
[HAVING < условия_поиска >]
[UNION <onepaTop_select>]
[PLAN <план_ выполнения_запроса>]
[ORDER BY <список_столбцов>]
Этот формат с первого взгляда достаточно громоздок и поэтому кажется сложным. Такое впечатление при дальнейшем изучении оператора SELECT наверняка покажется Вам неверным. Поэтапно рассмотрим возможности, которые предоставляет оператор SELECT.
8.2.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
Таблица 8.1.
Результат выполнения запроса SELECT * FROM Readers.
Code |
FamilyNamе |
Name |
Patronymic |
ReaderCardNumber |
PasportCode |
Job |
Post |
Note |
1 |
Иванов |
Петр |
Иванович |
317 |
4 |
ДГУ, каф. ЭВТ |
Ассистент |
blob |
2 |
Федорец |
Ирина |
Олеговна |
28 |
1 |
ДГУ, АХЧ |
Вахтер |
blob |
3 |
Ильин |
Иван |
Петрович |
1345 |
11 |
ДГУ, каф. физики |
Доцент |
blob |
4 |
Суренко |
Дмитрий |
Павлович |
543 |
6 |
ДГУ, каф. геофизики |
Ст. преподава-тель |
blob |
5 |
Коршунова |
Наталья |
Юрьевна |
128 |
8 |
ДГУ, каф.гео-информа-тики |
Ассистент |
blob |
6 |
Носенко |
Олег |
Владими-рович |
5672 |
5 |
ДГУ, ИКК |
Инженер |
blob |