Sobes.tech
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:

  • WHERE filtrē rindas pirms grupēšanas. To izmanto, lai ierobežotu sākotnējo datu kopu.
  • HAVING filtrē 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.