S SQL: popis, syntax, príklady

SQL je štandardný jazyk pre prácu s relačnými databázami. Vo svojom arzenáli má veľa výkonných nástrojov na manipuláciu s dátami uloženými vo forme tabuliek.

Nepochybne je takýmto nástrojom schopnosť zhromažďovať údaje vo svojej vzorke na určitom základe. Príkaz SQL HAVING spolu s príkazom WHERE umožňuje definovať podmienky pre vzorku dát, ktoré sú už určitým spôsobom zoskupené.

Parameter HAVING SQL: description

Najskôr je potrebné poznamenať, že tento parameter je voliteľný a vzťahuje sa iba na parameter GROUP BY. Ako si viete spomenúť, GROUP BY sa používa, keď sú agregované funkcie použité v SELECT a výsledky ich výpočtov je potrebné získať v špecifických skupinách. Ak vám možnosť WHERE umožňuje nastaviť podmienky vzorky pred tým, ako sú dáta zoskupené, potom HAVING obsahuje podmienky týkajúce sa údajov, ktoré už sú priamo v skupinách. Ak chcete lepšie porozumieť, pozrite sa na príklad so schémou zobrazenou na obrázku nižšie.


Toto je skvelý príklad, ktorý poskytuje popis HAVING SQL. Táto tabuľka uvádza názvy produktov, spoločnosti, ktoré ich vyrábajú, a niektoré ďalšie polia. V žiadosti v pravom hornom rohu sa snažíme získať informácie o počte názvov produktov, ktoré každá spoločnosť vyrába, a tým chceme vyzdvihnúť iba tie spoločnosti, ktoré vyrábajú viac ako 2 položky. Parameter GROUP BY vytvoril tri skupiny, zodpovedajúce názvy spoločností, pre každý z ktorých sa počíta počet produktov (riadkov).Klauzula HAVING však odstránila jednu skupinu výslednej vzorky, pretože nespĺňala podmienku. V dôsledku toho dostaneme dve skupiny zodpovedajúce spoločnostiam s počtom produktov 5 a 3.


Možno existuje otázka, prečo používať HAVING, ak je SQL WHERE. Ak by sme použili WHERE, potom by sa pozrel na celkový počet riadkov v tabuľke, nie v skupinách, a tento stav by v tomto prípade nemal zmysel. Avšak pomerne často sú dokonale prispôsobené v jednom dopyte.
V uvedenom príklade môžeme vidieť, ako sa pôvodne zhromažďujú údaje o menách zamestnancov uvedených na WHERE a potom zoskupené do skupiny GROUP BY, výsledkom je dodatočná kontrola výšky platu pre každého zamestnanca.

SQL HAVING Parameter: Príklady, Syntax

Pozrime sa na niektoré funkcie syntaxe HAVING SQL. Popis tohto parametra je veľmi jednoduchý. Po prvé, ako už bolo uvedené, používa sa výlučne v spojení s parametrom GROUP BY a je indikované bezprostredne za ním a pred príkazom ORDER BY, ak existuje. To je pochopiteľné, pretože HAVING definuje podmienky pre zoskupené dáta. Po druhé, pre tento parameter sa môžu použiť iba agregované funkcie a polia špecifikované v klauzule GROUP BY. Všetky podmienky v tomto odseku sú uvedené presne rovnakým spôsobom ako v prípade WHERE.

Záver

Ako vidíte, v tomto operátorovi nie je nič zložité. Sémanticky sa používa rovnakým spôsobom ako WHERE. Je dôležité porozumieť tomu, čo WHERE používa pre všetky svoje údaje a HAVING - len vo vzťahu k skupinám definovaným v klauzule GROUP BY. Smepredstavil vyčerpávajúci popis pre HAVING SQL, čo je dostatočné na to, aby s ním pracoval dôverne.

Súvisiace publikácie