//kolikrat byla ktera kniha pujcena? SELECT kniha.nazev AS nazev_knihy, COUNT(vypujcka.kniha_id) AS pocet_vypujcek FROM kniha LEFT JOIN vypujcka ON kniha.id = vypujcka.kniha_id GROUP BY kniha.nazev ORDER BY pocet_vypujcek DESC; (select zakaznik.id as zakaznik_id, kniha.id as kniha_id from zakaznik cross join kniha) minus (select zakaznik_id, kniha_id from vypujcka); select jmeno from zakaznik where (select count (distinct kniha_id) from vypujcka where zakaznik_id = zakaznik.id) = (select count (*) from kniha); //vsechny knihy co si pujcil karel? select distinct nazev from kniha where id in (select kniha_id from vypujcka where zakaznik_id = (select id from zakaznik where jmeno like 'karel')); //vsechny knihy na p a q co byli pujceny? //knihy na p, ktere nebyly pujceny? select nazev from kniha where nazev like 's%' and id in (select kniha_id from vypujcka) union select nazev from kniha where nazev like 'k%' and id in (select kniha_id from vypujcka); //knihy na p, ktere nebyly pujceny? select nazev from kniha where nazev like 's%' and id in (select kniha_id from vypujcka) union select nazev from kniha where nazev like 'k%' and id in (select kniha_id from vypujcka); select kniha.nazev from vypujcka inner join kniha on vypujcka.kniha_id = kniha.id where kniha.nazev like 's%' union select kniha.nazev from vypujcka inner join kniha on vypujcka.kniha_id = kniha.id where kniha.nazev like 'k%';