Premium
Frage8
Verbleibend:

Erkläre den Unterschied zwischen WHERE und HAVING

Musterantwort

Antwort standardmäßig anzeigen

WHERE

  • Filtert Zeilen vor der Gruppierung der Daten.
  • Kann keine Aggregatfunktionen (SUM(), COUNT(), AVG() usw.) verwenden.
  • Wirkt auf einzelne Datensätze der Tabelle.

Beispiel:

MySQL 8.1
SELECT department_id, COUNT(*)
FROM employees
WHERE salary > 50000
GROUP BY department_id;

HAVING

  • Filtert Zeilengruppen nach der Gruppierung der Daten.
  • Kann Aggregatfunktionen verwenden.
  • Wirkt auf die Ergebnisse von GROUP BY.

Beispiel:

MySQL 8.1
SELECT department_id, COUNT(*) AS num_employees
FROM employees
GROUP BY department_id
HAVING COUNT(*) > 5;