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.