HAVING
arbeitet auf der zusammengefassten Zeile - WHERE
auf die gesamte Tabelle vor dem GROUP BY
wirkt wird angewandt. (Sie können GROUP BY
nicht eingeben beiseite, HAVING
ist eine Klausel, die für die Verwendung mit GROUP BY
reserviert ist - Weglassen des GROUP BY
ändert nichts an der impliziten Aktion, die hinter den Kulissen stattfindet).
Es ist auch wichtig zu beachten, dass aus diesem Grund WHERE
kann einen Index verwenden, während HAVING
kann nicht. (In supertrivialen, nicht gruppierten Ergebnismengen könnten Sie theoretisch einen Index für HAVING
verwenden , aber ich habe noch nie einen Abfrageoptimierer gesehen, der tatsächlich auf diese Weise implementiert wurde).