Sobes.tech
Middle

Štandardná otázka o SQL: v čom sa líši WHERE od HAVING?

sobes.tech AI

Odpoveď od AI

Hlavný rozdiel medzi WHERE a HAVING v SQL spočíva v fáze, v ktorej filtrujú údaje:

  • WHERE filtruje riadky pred skupinovaním. Používa sa na obmedzenie pôvodného súboru údajov.
  • HAVING filtruje skupiny po použití agregačných funkcií a skupinovania (GROUP BY).

Príklad:

SELECT oddelenie, COUNT(*) ako počet_zamestnancov
FROM zamestnanci
WHERE plat > 50000  -- filtrujeme zamestnancov s platom > 50000
GROUP BY oddelenie
HAVING COUNT(*) > 10      -- vyberáme oddelenia s viac ako 10 zamestnancami

Tu WHERE obmedzuje počiatočné riadky, a HAVING konečné skupiny.