Sobes.tech
Junior — Middle

Paaiškinkite skirtumus tarp HAVING operatoriaus ir WHERE sąlygos SQL ir kada juos naudoti.

sobes.tech AI

Atsakymas iš AI

SQL'e, WHERE sąlyga filtruoja eilutes prieš grupavimą, o HAVING — po jo.

  • WHERE taikoma atskiriems lentelės eilių elementams ir riboja duomenų rinkinį, kuris bus agreguojamas.
  • HAVING taikoma agregavimo funkcijų rezultatams ir filtruojamos grupės, sukurtos naudojant GROUP BY.

Pavyzdys:

SELECT skyrius, COUNT(*) kaip darbuotojų_skaičius
FROM darbuotojai
WHERE atlyginimas > 50000  -- filtruojame darbuotojus su atlyginimu virš 50000
GROUP BY skyrius
HAVING COUNT(*) > 10    -- pasirenkame skyrius su daugiau nei 10 darbuotojų

Naudokite WHERE norėdami filtruoti pradinius duomenis, o HAVING — agreguotus rezultatus.