Sobes.tech
Junior — Middle

Izskaidrojiet atšķirības starp HAVING operatoru un WHERE nosacījumu SQL un kad tos izmantot.

sobes.tech AI

Atbilde no AI

SQL, WHERE nosacījums filtrē rindas pirms grupēšanas, bet HAVING — pēc tās.

  • WHERE tiek piemērots atsevišķām tabulas rindām un ierobežo datu kopu, kas tiks apkopota.
  • HAVING tiek piemērots agregācijas funkciju rezultātiem un filtrē grupas, kas izveidotas ar GROUP BY.

Piemērs:

SELECT nodaļa, COUNT(*) kā darbinieku_skaits
FROM darbinieki
WHERE alga > 50000  -- filtrē darbiniekus ar algu virs 50000
GROUP BY nodaļa
HAVING COUNT(*) > 10    -- izvēlas nodaļas ar vairāk nekā 10 darbiniekiem

Izmantojiet WHERE, lai filtrētu sākotnējos datus, un HAVING — lai filtrētu agregētos rezultātus.