Übung F: Liste aller Fächer (HAVING)
Abschlussbedingungen
Übung F: Liste aller Fächer (HAVING)

F) Wir wollen eine Liste aller Fächer, die mit R oder M beginnen.
Für jedes Fach brauchen wir die Anzahl der Lehrer, die es unterrichten, außerdem das Durchschnittsgehalt der Lehrer dieses Fachbereichs.
Da uns nur die Fächer interessieren, in denen man mehr als den Durchschnitt verdient, lassen wir uns nur die Einträge anzeigen, bei denen das Durchschnittsgehalt über 2800 Euro liegt.
(F1)
SELECT COUNT(l.id) AS "Anzahl Lehrer", AVG(l.gehalt) AS "Durchschnittsgehalt", f.fachbezeichnung FROM faecher f, lehrer l, lehrer_hat_faecher lhf WHERE lhf.idFaecher = f.id AND lhf.idLehrer = l.id AND durchschnittsgehalt > 2800 GROUP BY f.id HAVING (f.fachbezeichnung LIKE 'm%' OR f.fachbezeichnung LIKE 'r%')(F2)
SELECT COUNT(l.id) AS "Anzahl Lehrer", AVG(l.gehalt) AS "Durchschnittsgehalt", f.fachbezeichnung
FROM faecher f, lehrer l, lehrer_hat_faecher lhf
WHERE lhf.idFaecher = f.id AND lhf.idLehrer = l.id AND COUNT(l.gehalt) > 2800 AND
(f.fachbezeichnung LIKE 'm%' OR f.fachbezeichnung LIKE 'r%')
GROUP BY f.id
(F3)
SELECT COUNT(l.id) AS "Anzahl Lehrer", AVG(l.gehalt) AS "Durchschnittsgehalt", f.fachbezeichnung
FROM faecher f, lehrer l, lehrer_hat_faecher lhf
WHERE lhf.idFaecher = f.id AND lhf.idLehrer = l.id AND
(f.fachbezeichnung LIKE 'm%' OR f.fachbezeichnung LIKE 'r%')
GROUP BY f.id
HAVING AVG(l.gehalt) > 2800
Tipp: Was sagt die gemini-google.de dazu? Hilft Dir die Erklärung?