Nachádzate sa tu
08. SQL HAVING
SQL príkaz HAVING je vo svojej podstate alternatívou príkazu WHERE, s tým rozdielom, že sa používa v prípade, že chcheme vytvoriť podmienku na akregačnú funckiu typu SUM(), AVG(), COUNT().
Príklad: V príklade budeme uvažovať o hypotetickej databáze, v ktorej máme dáta obsahujúce mzdové náklady za rôzne dcérske podniky. Úlohou bude teda zrátaťmzdové náklady na úrovni jednotlivých dcérskych podnikov, avšak zoberieme len tie dcéry, ktorých mzdové náklady sú vyššie ako 15 000 EUR a sú mimo regiónu Stredného Slovenska.
SELECT dcersky_podnik, region, SUM(mzda+0,01*pocet_rokov*mzda) as mzdove_naklady
FROM tabulka_zamestnanci
GROUP BY dcersky_podnik, region
HAVING SUM(mzda+0,01*pocet_rokov*mzda) >15000
AND region NOT IN ('stredne_slovensko')
Je dôležité si uvedomiť, že HAVING sa nikdy nekombinuje s WHERE, a ak už máme v skripte HAVING ostatné podmienky píšeme v skripte cez AND pod HAVING. Alternatíva s WHERE SUM(mzda+0,01*pocet_rokov*mzda) je v SQL nezmeselná.