Lekcja 29.09.10 r.
T:Zapytanie z klauzura WHERE
select co? from skad? WHERE (pod jakimi warunkami?);
select nazwisko, imie from klient where miasto='czestochowa';
select nazwisko, imie from klient where miasto='czestochowa' or miasto='kraków';
select nazwisko, imie from klient where miasto='kraków' and tytul='Pan';
select imie from klient where imie like '%a'; //zakonczone na a
select distinct imie from klient where imie like '%a'; //unikalne rekordy
select nazwisko,imie, miasto from klient where miasto in ('częstochowa', 'kraków', 'warszawa') order by miasto, nazwisko; //wszystko w jednym zapytaniu a nie po or or or itp
select opis, cena_zakupu from przedmiot where cena_zakupu>20 and cena_zakupu<100;
select opis as Przedmiot, cena_zakupu as Cena from przedmiot where cena_zakupu>20 and cena_zakupu<100;
select opis as Przedmiot, cena_sprzedazy-cena_zakupu as Zarobek from przedmiot where cena_sprzedazy-cena_zakupu>10;
select opis as Przedmiot, cena_sprzedazy-cena_zakupu as Zarobek from przedmiot where cena_sprzedazy-cena_zakupu>10 order by Zarobek desc;
select opis as Przedmiot, cena_zakupu from przedmiot where opis like 's%' order by cena_zakupu;
T:Łaczenie tabel
select imie, nazwisko, data_zlozenia
from klient k, zamowienie z
where k.klient_id=z.klient_id; //laczenie tabel ze soba k i z to skrocone tabele klient i zamowienie, w tym przypadku laczymy tabele klient z zamowieniem przez tabele klient_id
I
where k.klient_id=z.klient_id
and year(data_zlozenia)=2004; //wyswietla klienta z data zalozenia zamowiena w 2004 roku
II
select zamowienie_id, opis
from linia_zamowienia l, przedmiot p
where l.przedmiot_id=p.przedmiot_id; //wyswietla i laczy tabele linia_zam z przedmiot przez kolumne przedmiot_id -- wyswietla przedmiot i id zamowienia
III
select z.zamowienie_id, opis, data_zlozenia
from linia_zamowienia l, przedmiot p, zamowienie z
where l.przedmiot_id=p.przedmiot_id
and l.zamowienie_id=z.zamowienie_id; // z tak musi byc bo ta kolumna jest w innych tez tabelach i trzeba to okreslic --- poelcenia wyswietla powyzsze + date zlozenia
IV
select z.zamowienie_id, opis, data_zlozenia, nazwisko,imie
from linia_zamowienia l, przedmiot p, zamowienie z, klient k
and l.zamowienie_id=z.zamowienie_id
and k.klient_id=z.klient_id; // powyzsze + imie i nazwisko zamawiajacego
Zad. Wyswietlic te przedmioty ktorych stan magazynowy jest mneijszy niz 5
select opis, ilosc
from przedmiot p, magazyn m
where p.przedmiot_id=m.przedmiot_id
and ilosc<5;
cyborg14