Hallo zusammen,
könnt ihr bitte mal schauen, ob meine SQL-Anweisungen stimmen????
Bitte kein Schnick-Schnack nur sagen, ob es korrekt ist. Ich hatte Klausur und wollte wissen, ob ich es richtig gemacht habe
Kursleiter (ID, Nachname)
Kurs (Nr, AnzTeiln, Ort)
Thema (Name, nachgefragt)
leitet (LeiterID, KursNr)
FOREIGN KEY (LeiterID) REFERENCES Kursleiter (ID)
FOREIGN KEY (KursNr) REFERENCES Kurs (Nr)
Kenntnis (LeiterID, ThemaBez)
FOREIGN KEY (LeiterID) REFERENCES Kursleiter (ID)
FOREIGN KEY (ThemaBez) REFERENCES Thema (Name)
behandelt (ThemaBez, KursNr)
FOREIGN KEY (ThemaBez) REFERENCES Thema (Name)
FOREIGN KEY (KursNr) REFERENCES Kurs (Nr)
Formulieren Sie jeweils eine SQL-Anfrage, um die folgenden Informationen zu
erhalten:
2 Punkte (a) Listen Sie die Namen aller stark nachgefragten Themen auf, in denen sich der
Kursleiter mit der ID ”
(b) Welche Kursleiter kennen sich nicht im Thema mit dem Namen "Webdesign“
aus? 3Punkte
4 Punkte (c) Listen Sie jeden Kursort und die bisherige Gesamtteilnehmerzahl ̈uber alle
Kurse an diesem Ort dann auf, falls diese mindestens 30 beträgt.
Meine Lösung:
Aufgabe 1:
SELECT NAME
FROM THEMA, KENNTNIS
WHERE THEMA.name = KENNTNIS.ThemaBez
AND Kenntnis.LeiterID = 3
Aufgabe 2:
SELECT ID, Nachname
FROM Kursleiter, Kenntnis
WHERE Kursleiter.ID NOT IN
( SELECT ThemaBez
FROM Kenntnis
WHERE ThemaBez = "Webdesign" )
Aufgabe 3:
SELECT DISTINCT SUM(AnzTeil), Ort
FROM KURS
GROUP BY ORT
HAVING SUM (AnzTeiln) > 29
Vielen Dank im Voraus.
Wieiviel Punkte würdet ihr mir geben?
könnt ihr bitte mal schauen, ob meine SQL-Anweisungen stimmen????
Bitte kein Schnick-Schnack nur sagen, ob es korrekt ist. Ich hatte Klausur und wollte wissen, ob ich es richtig gemacht habe
Kursleiter (ID, Nachname)
Kurs (Nr, AnzTeiln, Ort)
Thema (Name, nachgefragt)
leitet (LeiterID, KursNr)
FOREIGN KEY (LeiterID) REFERENCES Kursleiter (ID)
FOREIGN KEY (KursNr) REFERENCES Kurs (Nr)
Kenntnis (LeiterID, ThemaBez)
FOREIGN KEY (LeiterID) REFERENCES Kursleiter (ID)
FOREIGN KEY (ThemaBez) REFERENCES Thema (Name)
behandelt (ThemaBez, KursNr)
FOREIGN KEY (ThemaBez) REFERENCES Thema (Name)
FOREIGN KEY (KursNr) REFERENCES Kurs (Nr)
Formulieren Sie jeweils eine SQL-Anfrage, um die folgenden Informationen zu
erhalten:
2 Punkte (a) Listen Sie die Namen aller stark nachgefragten Themen auf, in denen sich der
Kursleiter mit der ID ”
(b) Welche Kursleiter kennen sich nicht im Thema mit dem Namen "Webdesign“
aus? 3Punkte
4 Punkte (c) Listen Sie jeden Kursort und die bisherige Gesamtteilnehmerzahl ̈uber alle
Kurse an diesem Ort dann auf, falls diese mindestens 30 beträgt.
Meine Lösung:
Aufgabe 1:
SELECT NAME
FROM THEMA, KENNTNIS
WHERE THEMA.name = KENNTNIS.ThemaBez
AND Kenntnis.LeiterID = 3
Aufgabe 2:
SELECT ID, Nachname
FROM Kursleiter, Kenntnis
WHERE Kursleiter.ID NOT IN
( SELECT ThemaBez
FROM Kenntnis
WHERE ThemaBez = "Webdesign" )
Aufgabe 3:
SELECT DISTINCT SUM(AnzTeil), Ort
FROM KURS
GROUP BY ORT
HAVING SUM (AnzTeiln) > 29
Vielen Dank im Voraus.
Wieiviel Punkte würdet ihr mir geben?