Dzięki @Shalom za rysunki. Wygląda to dość jasno. Tylko z praktyką idzie, gorzej bo nie mam jak sprawdzić czy dobrze napisałem. Czy mógłby mi ktoś sprawdzić zadanie 3, czy może być tak i czy są jeszcze inne sposoby ? W załączniku schemat bazy danych.
- (2pkt) Podaj instrukcję wyświetlającą nazwy i ceny kom. Dane należy posortować malejąco według cen.
select nazwa, cena
from kompozycje
order by cena desc;
- (3pkt). Podaj instrukcję wyświetlającą nazwę, opis, cenę tych kompozycji. Które w opisie zawierają ciąg znaków róż i których cena jest z przedziału [40.00;80.00].
select nazwa, opis, cena
from kompozycje
where opis like '%róż%'
and cena between 40 and 80;
- (4pkt) Podaj instrukcję wyświetlającą identyfikatory zamówień zrealizowanych lub do zrealizowania w listopadzie i grudniu 2013r. (Weź pod uwagę tabele zamówienia i historia.
Czy może to być tak ?
select idzamowienia
from zamowienia
where
date_part('month', termin)=11
and date_part('year', termin)=2013;
or
date_part('month', termin)=12
and date_part('year', termin)=2013;
union
select idzamowienia
from historia
where
date_part('month', termin)=11
and date_part('year', termin)=2013;
or
date_part('month', termin)=12
and da/te_part('year', termin)=2013;
Czy z joinem ? Wg schematu tabela zamówienia i historia nie są nigdzie ze sobą powiązane.
select idzamowienia
from zamowienia join historia on
date_part('month', termin)=11
and date_part('year', termin)=2013;
or
date_part('month', termin)=12
and date_part('year', termin)=2013;