Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Неделя 05 Лекция 2 (8).doc
Скачиваний:
1
Добавлен:
13.11.2019
Размер:
179.71 Кб
Скачать

8.2.5. Использование псевдонимов таблиц.

В приведенном выше примере оператора SELECT

SELECT ReaderCode, FamilyName, Name, BookGiveOutRecord.Code, InventoryCode

FROM BookGiveOutRecord, Readers

WHERE Readers.Code = BookGiveOutRecord. ReaderCode

в перечне возвращаемых столбцов после слова SELECT и в условии поиска после слова WHERE перед именем столбца через точку пишется название таблицы:

WHERE Readers.Code = BookGiveOutRecord. ReaderCode

Указание имени таблицы перед именем столбца является совершенно необходимым, поскольку в разных таблицах могут оказаться одноименные столбцы (как в нашем примере), и SQL-сервер должен знать, со столбцом какой таблицы он имеет дело.

Использование общих имен таблиц для идентификации столбцов неудобно из-за своей громоздкости. Намного лучше присвоить каждой таблице какое-нибудь краткое обозначение, псевдоним. Такие псевдонимы называются псевдонимами таблиц. Они определяются после имени каждой таблицы в указании списка таблиц-источников после слова FROM:

SELECT ...

FROM <таблица1 псевдоним1> [, < таблица2 псевдоним2> ...]

WHERE ...

Например, приведенный выше запрос

SELECT ReaderCode, FamilyName, Name, BookGiveOutRecord.Code, InventoryCode

FROM BookGiveOutRecord, Readers

WHERE Readers.Code = BookGiveOutRecord. ReaderCode

после введения в него псевдонимов таблиц выглядит намного компактнее:

SELECT ReaderCode, FamilyName, Name, B.Code, InventoryCode

FROM BookGiveOutRecord B, Readers R

WHERE R.Code = B.ReaderCode

8.2.6. Предложение order by – определение сортировки.

Набор данных, выдаваемый в результате выполнения оператора SELECT, в общем случае возвращается в неотсортированном виде. Это удобно далеко не всегда. Определить, по каким полям необходимо отсортировать записи в результирующем НД, можно, указав после предложения, следующего за словом WHERE, предложение

ORDER BY <список_столбцов>

Список столбцов должен содержать имена столбцов, по которым будет производиться сортировка.

В случае указания имен нескольких столбцов, разделенных через запятую, столбец, указанный первым, будет использован для глобальной сортировки, второй столбец - для сортировки внутри группы, определяемой единым значением первого столбца, и т.д.

ПРИМЕР

Выдать список читателей библиотеки в алфавитном порядке

SELECT *

FROM Readers

ORDER BY FamilyNamе, Name, Patronymic

Результат выполнения запроса приведен в таблице 8.4.

Таблица 8.4.

Результат выполнения запроса SELECT * FROM Readers ORDER BY….

Code

FamilyNamе

Name

Patronymic

ReaderCardNumber

PasportCode

Job

Post

Note

1

Иванов

Петр

Иванович

317

4

ДГУ, каф. ЭВТ

Ассистент

blob

3

Ильин

Иван

Петрович

1345

11

ДГУ, каф. физики

Доцент

blob

5

Коршунова

Наталья

Юрьевна

128

8

ДГУ, каф.гео-информа-тики

Ассистент

blob

6

Носенко

Олег

Владими-рович

5672

5

ДГУ, ИКК

Инженер

blob

4

Суренко

Дмитрий

Павлович

543

6

ДГУ, каф. геофизики

Ст. преподава-тель

blob

2

Федорец

Ирина

Олеговна

28

1

ДГУ, АХЧ

Вахтер

blob

Сравните таблицу 8.4 с таблицей 8.1.