Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lab_03.doc
Скачиваний:
13
Добавлен:
10.04.2015
Размер:
130.56 Кб
Скачать

3.2.5. Сложные соединения

Хотя одна секция JOIN соединяет всего два набора данных, на практике соединения не ограничиваются двумя источниками. За набором, созданным посредством соединения, может следовать новая секция JOIN – по аналогии с тем, как перечисляются через запятую источники данных.

Пример соединения нескольких источников данных:

SELECT last_name, publisher, e.isbn, subject

FROM authors AS a

JOIN books AS b ON a.id = b.author_id

JOIN editions AS e ON b.id = e.book_id

JOIN publishers AS p ON e.publisher_id = p.id

JOIN subjects AS s ON b.subject_id = s.id;

Хотя таблица books участвует в соединении, ни одно из ее полей не входит в итоговый набор. Включение таблицы books в секции JOIN предоставляет критерии для соединения других таблиц. Все таблицы, поля которых возвращаются в результате запроса, связываются с другими таблицами через поле id таблицы books (кроме таблицы publishers, которая связывается с таблицей editions по полю publisher_id).

Лабораторная работа 3

Выполнить следующие запросы к базе данных booktown:

  1. Код isbn, дата издания, цена продажи и количество экземпляров для всех изданий на складе.

  2. Дата покупки, код покупателя, дата издания, тип обложки для всех покупок. Отсортировать по дате издания.

  3. Дата покупки, фамилия и имя покупателя для всех покупок. Отсортировать по фамилии и имени покупателя.

  4. Список авторов с названиями написанных ими книг, отсортированный по авторам.

  5. Список названий книг и фамилий их авторов с указанием темы, отсортировать по названию книги.

  6. Фамилия и имя покупателя, название купленной им книги для всех покупок. Отсортировать по покупателям.

  7. Все пары: название издательства, фамилия автора (произведение которого было издано данным издательством). Упорядочить по названию издательства.

  8. Фамилия и имя покупателя, название издательства купленной им книги для всех покупок. Упорядочить по покупателю.

  9. Список номеров ISBN и тип обложки для книг в бумажном переплете с указанием издательств, выпустивших книгу; список отсортировать по издательствам.

  10. Фамилия автора и название тем, которые он отразил в своих произведениях. Упорядочить по автору.

  11. Код ISBN, название книги, фамилия автора, затраты магазина на закупку всех имеющихся в наличии экземпляров. Отсортировать так, чтобы в начале списка шли самые малозатратные издания.

  12. Название и число экземпляров книг, количество которых на складе равно нулю. Упорядочить по названию.

  13. Название и дата продажи книги, которая была куплена самой первой в магазине.

  14. Фамилия и имя автора книги, купленной предпоследней. Указать также дату продажи.

  15. Название книги, дата издания, первое или повторное издание для всех изданий (если издание 1, то «первое»; иначе – «повторное»). Отсортировать по названию книги.

  16. Название книги, издательство и тип обложки для книг, изданных издательством Roc в твердом переплете. Упорядочить по названию книги.

  17. Название и тема книг, относящихся к темам Science и Science Fiction. Отсортировать по названию книги.

  18. Названия книг, которые приобрела Annie Jackson (с указанием покупателя).

  19. Название и издатель книг, изданных не издательствами Ace Books, Roc, Penguin, Doubleday, Random House.

  20. Название книги и адрес издательства для книг, изданных не в городе New York.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]