» »

SQL-DML pomoč

SQL-DML pomoč

JackCola ::

Bazo sestavljajo tabele Knjiga, JePrebrala in Oseba. Strukture tabel opisujejo relacijske sheme
Knjiga(ISBN:N, Ime_knjige:A40)
JePrebrala(EMSO:A13, ISBN:N, Datum:D)
Oseba(EMSO:A13, Priimek:A20, Ime:A10, Naslov:A30, Kraj:A20)

Vprašanja pa so taka:

- izpiše imena knjig, ki jih je prebralo vsaj 10 oseb;
- izpiše imena knjig, ki so jih prebrale vse osebe;
- izpiše priimke oseb, ki niso prebrale nobene knjige;
- izpiše koliko oseb je prebralo knjig 'Vojna in mir‘;
- v tabeli Knjiga zmanjša ISBN knjige 'MATEMATIKA 4' za 3;
- izpiše imena knjig, katerih ISBN je manjši od 100;
- izpiše imena knjig, ki so jih prebrale vse osebe razen 'Mlinar Miha‘;
- izpiše koliko knjig je prebral 'Mlinar Miha' v letih od 1995 do 1998;
- izpiše ime nazadnje prebrane knjige.


Če se komu da malo napenjat možgančke in mi pomagat pri rešitvi (vsaj nekaj) vprašanj bi bil zelo hvaležen.
Znam osnove mysql querya vendar takoj ko pride do povezovanja več tabel med sabo tj. uporaba join funkcije se mi zalomi. Hvala vnaprej!

btree ::

evo na hitro par rešenih, drugim sem ti delno spisal pogoje

- izpiše imena knjig, ki jih je prebralo vsaj 10 oseb;
select distinct Ime_knjige
from Knjiga
where ISBN:N in (
select ISBN:N
from JePrebrala
group by ISBN:N
having count(*)>10)

- izpiše priimke oseb, ki niso prebrale nobene knjige;
select distinct Priimek
from Oseba
where emso not in
(select emso
from JePrebrala)

- izpiše koliko oseb je prebralo knjig 'Vojna in mir';
select count(emso)
from JePrebrala
where ISBN:N in
(select ISBN:N
from Knjiga
where Ime_knjige = 'Vojna in mir')

- v tabeli Knjiga zmanjša ISBN knjige 'MATEMATIKA 4' za 3;
-- v primeru, da tabela ni povezana z zunanjim ključem z JePrebrala
update Knjiga
set ISBN:N = ISBN:N - 3
where Ime_knjige = 'MATEMATIKA 4'

- izpiše imena knjig, katerih ISBN je manjši od 100;
uporabi pogoj
where ISBN:N manjšiod 100

- izpiše imena knjig, ki so jih prebrale vse osebe razen 'Mlinar Miha';
where emso not in (
select emso
from oseba
where ime = ...
and priimek = ...

- izpiše koliko knjig je prebral 'Mlinar Miha' v letih od 1995 do 1998;
where ISBN:N in (
select ISBN:N
from JePrebrala
where datum between ( ... and ... )

- izpiše ime nazadnje prebrane knjige.
...
where datum = (select max(datum)from JePrebrala)

Letalec ::

Na kateri šoli pa imate to domačo nalogo?

JackCola ::

Hvala tomazz za pomoč!

@Letalec
Vegova - Tehniška gimnazija 4. letnik :)

lukapivk ::

Lončarić?

JackCola ::

Prof. dr. Uroš "plešasti" Breskvar :)


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

SQL - izpit

Oddelek: Programiranje
102031 (1055) FTad
»

MS Access (strani: 1 2 )

Oddelek: Programiranje
647392 (5450) travica
»

Knjige za branje

Oddelek: Sedem umetnosti
71236 (1060) jizzer
»

Naloge v Pythonu

Oddelek: Programiranje
252519 (2136) Isotropic
»

Administrator; izpiti

Oddelek: Loža
382489 (1572) Microsoft

Več podobnih tem