Algebra relacji

0

Proszę o pomoc w zadaniu, o ile 4 pierwsze ppkt zrobiłem to kolejne ni w ząb.

user image

moje rozwiązania

user image

nikt?

0

e

select klient.nazwisko from klient join kupuje join towar join dzial where dzial.nazwa_dzialu="garmażerka"
group by klient.nazwisko

f

select towar.nazwa_towaru from towar join producent_adres join dzial 
where dzial.nazwa_dzialu="Nabiał" and producent_adres.miejscowosc="Opole"
group by towar.nazwa_towaru

g

select towar.id_producenta from towar
group by towar.id_producenta
having count(*)>1

Albo na przykład:

select towar1.id_producenta from towar1 join (łączymy po producencie a nie po towarze!) towar as towar2
where towar1.id_towaru != towar2.id_towaru
group by towar1.id_producenta

h

select towar.id_towaru, towar.nazwa_towaru from towar join dzialy
where dzialy.nazwa_dzialu = "Nabiał" or dzialy.nazwa_dzialu = "Pieczywo"

i

select klient.id, klient.nazwisko from klient join kupuje as kupuje1 join kupuje as kupuje2 join kupuje as kupuje3
where kupuje1.data > kupuje2.data and kupuje2.data > kupuje3.data
and kupuje1.data between 21.03.2000 and 23.03.2000
and kupuje2.data between 21.03.2000 and 23.03.2000
and kupuje3.data between 21.03.2000 and 23.03.2000
group by klient.id, klient.nazwisko

to jeśli musisz się bawić tylko za pomocą selekcji, rzutowania i złączania, bo w normalnym sqlu można zrobić

select klient.id, klient.nazwisko from klient join kupuje
where kupuje.data between 21.03.2000 and 23.03.2000
group by klient.id, klient.nazwisko
having count(*)>3

1 użytkowników online, w tym zalogowanych: 0, gości: 1