Zentor
10-05-2002, 13:55
Stimmen meine Lösungen?
5.) select Buch.Titel, Kunde.Knr, Kunde.Nachname, Ausleihe.von
from Buch, Kunde, Ausleihe
where Ausleihe.von not null and Ausleihe.bis = null
6.) select Buch.Titel, Kunde.Knr, Kunde.Nachname, Ausleihe.von
from Buch, Kunde, Ausleihe
where Ausleihe.von not null and Ausleihe.bis = null and Ausleihe.von < 2002
9.) select Nachname, Jahr
from Kunde
where Knr in ( select Knr
from Ausleihe
where InvNR in ( select InvNR
from Exemplar
where ISBN in ( select ISBN
from Klassifikation
where Gebiet = 'Mathematik'
)
)
)
10.) select Nachname, Vorname, KNr
from Kunde
where KNR not in (select Knr
from Ausleihe
where InvNR in ( select InvNR
from Exemplar
where ISBN in ( select ISBN
from Klassifikation
where Gebiet = 'Beletristik'
)
)
)
ich weis nicht ob man bei 5. soviel vermixen darf und ob da eine gültige Tabelle rauskommt. Muss man bei SQL zuerst nachprüfen ob ein wert nicht null ist und dann vergleichen weil sonst reicht in Bsp 6.
where Ausleihe.von <2002 and Ausleihe.bis = null
Zu Bsp 9 und 10 gibts doch sicher eine gescheitere Vorgehensweise als den ganzen Relationen folgend 3 Verschachtelungen zu begehen oder?
mfg Zentor
5.) select Buch.Titel, Kunde.Knr, Kunde.Nachname, Ausleihe.von
from Buch, Kunde, Ausleihe
where Ausleihe.von not null and Ausleihe.bis = null
6.) select Buch.Titel, Kunde.Knr, Kunde.Nachname, Ausleihe.von
from Buch, Kunde, Ausleihe
where Ausleihe.von not null and Ausleihe.bis = null and Ausleihe.von < 2002
9.) select Nachname, Jahr
from Kunde
where Knr in ( select Knr
from Ausleihe
where InvNR in ( select InvNR
from Exemplar
where ISBN in ( select ISBN
from Klassifikation
where Gebiet = 'Mathematik'
)
)
)
10.) select Nachname, Vorname, KNr
from Kunde
where KNR not in (select Knr
from Ausleihe
where InvNR in ( select InvNR
from Exemplar
where ISBN in ( select ISBN
from Klassifikation
where Gebiet = 'Beletristik'
)
)
)
ich weis nicht ob man bei 5. soviel vermixen darf und ob da eine gültige Tabelle rauskommt. Muss man bei SQL zuerst nachprüfen ob ein wert nicht null ist und dann vergleichen weil sonst reicht in Bsp 6.
where Ausleihe.von <2002 and Ausleihe.bis = null
Zu Bsp 9 und 10 gibts doch sicher eine gescheitere Vorgehensweise als den ganzen Relationen folgend 3 Verschachtelungen zu begehen oder?
mfg Zentor