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

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 06.11.2023

Просмотров: 28

Скачиваний: 27

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

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

select editions.isbn, publication, retail, stock from stock join editions on editions.isbn=stock. isbn;



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

select s.ship_date, s.customer_id, e.publication, type from shipments as s join editions as e on e.isbn=s.isbn order by e.publication;




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

select s.ship_date, last_name, first_name from shipments as s join customers as c on c.id=s.customer_id order by last_name, first_name;



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

select last_name, first_name, title from books, authors where books.author_id = authors.id order by last_name;




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

select title, last_name, subject from books, authors, subjects where books.author_id = authors.id and books.subject_id = subjects.id order by title;




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

select last_name, first_name, title from customers join shipments as s on s.customer_id = customers.id join editions as e on e.isbn = s.isbn join books on e.book_id=books.id order by last_name;




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

select name, last_name from publishers as p

join editions as e on e.publisher_id = p.id

join books as b on b.id = e.book_id

join authors as a on b.author_id=a.id order by name;




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

select last_name, first_name, name from customers

join shipments as s on s.customer_id = customers.id


join editions as e on e.isbn = s.isbn

join publishers as p on e.publisher_id=p.id

order by last_name;



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

select isbn, type, name from editions, publishers where publisher_id=id and type = 'h' order by name;



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

select authors.last_name, subject from authors, books, subjects where subject_id=subjects.id order by authors.last_name;



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

select e.isbn, cost*stock, title, last_name from stock as s

join editions as e on e.isbn = s.isbn

join books as b on b.id = e.book_id

join authors as a on b.author_id=a.id order by cost*stock asc;





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

select title, stock from stock as s

join editions as e on e.isbn = s.isbn

join books as b on b.id = e.book_id

where stock = 0 order by title;



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

select ship_date, title from books as b

join editions as e on e.book_id = b.id

join shipments as s on s.isbn = e.isbn

order by ship_date limit 1;




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

select last_name, first_name, ship_date 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 shipments as s on s.isbn = e.isbn order by ship_date limit 1 offset 1;*******



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

select title, publication, case when edition = 1 then 'pervoe' else

'povtornoe' end as edition_num from books as b join editions as e on b.id = e.book_id order by title;



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

select title, name, type from publishers as p

join editions as e on e.publisher_id = p.id

join books as b on b.id = e.book_id

where name = 'Roc';




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

select title, subject from books as b

join subjects as s on s.id = b.subject_id

where subject = 'Science' or subject = 'Science Fiction';





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

select title, last_name, first_name from books b

join editions e on e.book_id=b.id

join shipments s on s.isbn = e.isbn

join customers c on s.customer_id = c.id

where last_name = 'Jackson';



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

select title, name from publishers as p

join editions as e on e.publisher_id = p.id

join books as b on b.id = e.book_id

where name not in ('Ace Books', 'Roc', 'Penguin', 'Doubleday','Random House');




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

select title, address from publishers as p

join editions as e on e.publisher_id = p.id

join books as b on b.id = e.book_id where address not like ('%New York%');