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

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.

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