/* OUTER JOIN */ /*Pro každého dodavatele vypište výrobky dražší než 1000 Kč*/ SELECT Firma, NázevVýrobku FROM Dodavatelé d LEFT OUTER JOIN Výrobky v ON (d.ČísloDodavatele=v.ČísloDodavatele AND JednotkováCena>1000); /*Pro každého dodavatele vypište výrobky z kategorie číslo 1*/ SELECT Firma, NázevVýrobku FROM Dodavatelé d LEFT OUTER JOIN Výrobky v ON (d.ČísloDodavatele=v.ČísloDodavatele AND ČísloKategorie=1); /*Pro každého dodavatele vypište výrobky z kategorie číslo Nápoje*/ SELECT Firma, NázevVýrobku FROM Dodavatelé d LEFT OUTER JOIN (Výrobky v INNER JOIN Kategorie k ON (v.ČísloKategorie=k.ČísloKategorie AND NázevKategorie='Nápoje')) vk ON (d.ČísloDodavatele=vk.ČísloDodavatele); ------nebo----- SELECT Firma, NázevVýrobku FROM Dodavatelé d LEFT OUTER JOIN (SELECT * FROM Výrobky v INNER JOIN Kategorie k ON (v.ČísloKategorie=k.ČísloKategorie ) WHERE NázevKategorie='Nápoje') A ON (d.ČísloDodavatele=A.ČísloDodavatele); ---------------------------------------------------------------------------- /*agregace*/ /* Pro každého zákazníka počet objednávek dle zemí příjemce*/ SELECT Firma, Země, ZeměPříjemce, COUNT(ČísloObjednávky) AS pocetObj FROM Zákazníci z INNER JOIN Objednávky o ON (z.KódZákazníka=o.KódZákazníka) GROUP BY z.KódZákazníka, Firma,Země, ZeměPříjemce; /* Pro každého zákazníka počet objednávek dle zemí příjemce, v případě, že Země a Země příjmce jsou jiné*/ SELECT Firma, Země, ZeměPříjemce, COUNT(ČísloObjednávky) AS pocetObj FROM Zákazníci z INNER JOIN Objednávky o ON (z.KódZákazníka=o.KódZákazníka) WHERE Země<>ZeměPříjemce GROUP BY z.KódZákazníka, Firma,Země, ZeměPříjemce; SELECT Firma, Země, ZeměPříjemce, COUNT(ČísloObjednávky) AS pocetObj FROM Zákazníci z INNER JOIN Objednávky o ON (z.KódZákazníka=o.KódZákazníka) GROUP BY z.KódZákazníka, Firma,Země, ZeměPříjemce HAVING Země<>ZeměPříjemce; /* Vypište výrobky, kterých se v roce 1996 prodalo za více než 100000 Kč*/ SELECT ČísloVýrobku FROM Objednávky o INNER JOIN RozpisObjednávek r ON (o.ČísloObjednávky=r.ČísloObjednávky) WHERE Year(DatumObjednávky)=1996 GROUP BY ČísloVýrobku HAVING SUM(VýslednáCena)>100000