Middle
Standarta jautājums par SQL: kāda ir atšķirība starp WHERE un HAVING?
sobes.tech AI
Atbilde no AI
Galvenā atšķirība starp WHERE un HAVING SQL ir tajā, kurā posmā tie filtrē datus:
WHEREfiltrē rindas pirms grupēšanas. To izmanto, lai ierobežotu sākotnējo datu kopu.HAVINGfiltrē grupas pēc agregācijas funkciju un grupēšanas (GROUP BY) piemērošanas.
Piemērs:
SELECT nodaļa, COUNT(*) kā darbinieku_skaits
FROM darbinieki
WHERE alga > 50000 -- filtrē darbiniekus ar algu > 50000
GROUP BY nodaļa
HAVING COUNT(*) > 10 -- izvēlas nodaļas ar vairāk nekā 10 darbiniekiem
Šeit WHERE ierobežo sākotnējās rindas, bet HAVING galīgās grupas.