Lista druga Bazy danych
\i Dokumenty/semestr.3/Bazy.Danych/lista2/ksiegarnia.sql
SELECT autorzy.imię, autorzy.nazwisko
FROM autorzy, autorstwa, na_temat, tematy WHERE autorzy.nr_autora=autorstwa.nr_autora AND autorstwa.isbn = na_temat.isbn
AND na_temat.nr_tematu=tematy.nr_tematu AND tematy.nazwa= 'bazy danych’ GROUP BY autorzy.imię, autorzy.nazwisko;
(b) -
(c) wypisz numery tematów, w których zakresie znajdują się książki, których autorzy napisali przy- najmniej jedną książkę z psychologii,
SELECT na_temat.nr_tematu
FROM ( SELECT autorzy.nr_autora AS autor
FROM autorzy, autorstwa , na_temat, tematy WHERE autorzy.nr_autora=autorstwa.nr_autora AND autorstwa.isbn = na.temat.isbn AND na_temat.nr_tematu=tematy.nr_tematu
AND tematy.nazwa= 'psychologia’) AS numery, autorstwa, na_temat WHERE na_temat.isbn=autorstwa.isbn AND autorstwa.nr_autora=numery.autor GROUP BY na_temat.nr_tematu;
(d) wyznacz nazwiska autorów, którzy wydali przynajmniej jedną książkę przed rokiem 2000,
SELECT autorzy.nazwisko AS nazwisko FROM książki, autorstwa, autorzy WHERE książki.rok_wydania < 2000 AND książki.isbn=autorstwa.isbn AND autorstwa.nr_autora=autorzy.nr_autora GROUP BY nazwisko;
(f) wypisz tytuły książek wydanych w roku 1999,
SELECT tytuł FROM książki
WHERE rok.wydania = 1999;
(g) sprawdź, czy wśród książek znajduje się taka, której żadnego egzemplarza nie ma obecnie w księ- garni,
SELECT książki.isbn AS isbn, książki.tytuł AS tytuł,
książki.wydawca AS wydawca, książki.rok_wydania AS rok_wydania FROM (SELECT isbn
FROM książki EXCEPT SELECT isbn
FROM egzemplarze) AS id, książki WHERE książki.isbn=id.isbn;
(h) klient chce kupić „Frankensteina” Mary Shelley. Sprawdź, czy taka książka jest na składzie i jeśli jest, zaktualizuj bazę o informację o sprzedaży jednego egzemplarza (oczywiście zakładamy, że klient życzy sobie najnowsze z dostępnych wydań).
CREATE VIEW do_sprzedaży AS
SELECT książki.tytuł AS tytuł, książki.isbn AS isbn,
autorzy.imię AS imię, autorzy.nazwisko AS nazwisko,