2. Zaprojektuj polecenia SQL
a) Podać wykaz wszystkich klientów: dla każdego klienta podać jego identyfikator oraz nazwę firmy. Posortować alfabetycznie wg nazw firm.
SELECT Id_klienta, Nazwa_firmy FROM Klienci ORDER BY Nazwa_firmy;
b) Podać wykaz wszystkich dostawców. Dla każdego dostawcy podać nazwę firmy, miasto i kraj. Posortować alfabetycznie wg krajów, a w ramach krajów wg miast.
SELECT Nazwa_firmy, miasto, kraj FROM Dostawcy ORDER BY kraj, miasto;
c) Podać wykaz dostawców z Australi. Dla każdego dostawcy podać nazwę firmy i miasto w korym miesci się firma.
SELECT Nazwa_firmy, miasto FROM Dostawcy WHERE Kraj='Australia';
d)Podac wykaz wszystkich modeli namiotów. Dla każdego modelu podac numer katalogowy, nazwe producenta i oznaczenie modelu. Posortowac alfabetycznie wg nazw producenta; namioty od tego samego producenta wymienić w dowolnej kolejności.
SELECT Nr_katalog_towaru, Nazwa_producenta, Model FROM Towary WHERE Rodzaj_towaru='Namiot?' ORDER BY Nazwa_producenta;
e)Podac wykaz modeli plecakow produkcji firmy PRS. Dla każdego modelu podac numer katalogowy, onaczenie modelu i cene. Posortowac wg cen od najwyższej do najniższej.
SELECT Model, Nr_katalog_towaru, cena_sprzed FROM Towary WHERE Rodzaj_towaru="Plecak?" AND Nazwa_producenta='PRS' ORDER BY Cena_sprzed DESC;
f) Podać wykaz wszystkich zamówień o wartości przekraczającej 50000zł założonych między 01/03/99 a 26/03/99. Dla każdego zamówienia podać numer, datę i wartość. Ułożyć w kolejności dat, od najpóźniejszej do najwcześniejszej a mamówienia z tego samego dnia – wg malejących wartości zamówień.
SELECT Nr_zam, Data_zam, Wartosc_zam FROM Zamówienia WHERE Wartość_zam > 50000 AND (Data_zam BETWEEN 01/03/99 AND 26/03/99) ORDER BY Data_zam, wartość_zam DESC;
g) Dla każdego modelu namiotów produkcji firmy UWZ lub QRT lub XYZ, którego zapas w magazynie jest mniejszy niż 100 sztuk, podać numer katalogowy, markę i oznaczenie modelu. Wynik posortować wh marki i wg poziomu zapasów.
SELECT Nr_katalog_towaru, Nazwa_producenta, model FROM Towary WHERE (Nazwa_producenta='UWZ' OR Nazwa_producenta='QRT' OR Nazwa_producenta='XYZ') AND Ilość_w_mag < 100 ORDER BY Nazwa_producenta, ilosc_w_mag;
h) Podać wykaz dostaw zamówionych u dostawców. Dla każdej dostawy podać numer katalogowy towaru, zamówioną ilość towaru i nazwę firmy dostawcy (wykonaj 4 wersje):
a) WHERE
SELECT Nr_katalog_towaru, ilosc_zam, Nazwa_firmy FROM Dostawy, Dostawcy WHERE Dostawy.Id_dostawcy=Dostawcy.Id_dostawcy;
b) JOIN ON
SELECT Nr_katalog_towaru, ilosc_zam, Nazwa_firmy FROM Dostawy JOIN Dostawcy ON Dostawy.Id_dostawcy=Dostawcy.Id_dostawcy;
c) NATURAL JOIN
SELECT Nr_katalog_towaru, ilosc_zam, Nazwa_firmy FROM Dostawy NATURAL JOIN Dostawcy;
d) JOIN USING
SELECT Nr_katalog_towaru, ilosc_zam, Nazwa_firmy FROM Dostawy JOIN DOSTAWCY USING (Id_dostawcy);
W sumie w poleceniu ma JOJN więc można mu na bezczelnego napisać, że nie ma takiego polecenia ale że my jesteśmy lepsi wiemy że chodzi o JOIN!
Powodzenia!
Fonev