nisfarm.ru

HAVING SQL: popis, syntaxe, příklady

SQL je standardní jazyk pro práci s relačních databází.

Ve svém arzenálu má mnoho výkonných nástrojů pro manipulaci s daty uloženými ve formě tabulek.

s popisem sql

Nepochybně je jedním z takových nástrojů schopnost seskupovat data, když jsou vzorkovány určitou funkcí. Příkaz SQL JAKÉ společně s klauzule WHERE umožňuje definovat podmínky výběru již seskupených dat.

HAVING parametr SQL: popis




Za prvé, stojí za zmínku, že tento parametr je nepovinný a používá se výhradně ve spojení s parametrem GROUP BY. Jak si vzpomínáte, skupina GROUP BY se používá, když SELECT používá agregační funkce a výsledky jejich výpočtů musí být získány určitými skupinami. Pokud položka WHERE umožňuje nastavit podmínky pro výběr před seskupením dat, obsahuje HAVING podmínky vztahující se k datům již v samotných skupinách. Pro lepší pochopení se podívejme na příklad s diagramem na obrázku níže.

sql má

To je skvělý příklad, který poskytuje popis HAVING SQL. Je uvedena tabulka se seznamem názvů produktů, společností, které je vyrábějí, a některé další oblasti. V dotazu v pravém horním rohu se snažíme získat informace o tom, kolik názvů výrobků každá společnost produkuje, zatímco chceme vykázat pouze ty firmy, které vyrábějí více než 2 položky. Parametr GROUP BY tvořil tři skupiny odpovídající jménům společností, z nichž každá byla vypočtena počet produktů (řádků). Ale parametr HAVING svým stavem odřízl jednu skupinu z výsledného vzorku, protože tento stav nesplnil. Výsledkem toho jsou dvě skupiny, které odpovídají společnostem s počtem výrobků 5 a 3.

Může nastat otázka, proč použít HAVING, pokud existuje v dokumentu WHERE v SQL. Pokud bychom použili WHERE, podívali by se na celkový počet řádků v tabulce, nikoliv ve skupinách, a podmínka by v tomto případě neměla smysl. Velmi často však dokonce koexistují v jedné žádosti.

sql s příklady syntaxe

Ve výše uvedeném příkladu vidíme, jak jsou data nejprve vybrána jmény zaměstnanců zadanými v parametru WHERE a následně seskupený v skupině GROUP BY předá dodatečnou kontrolu výšky platu pro každého zaměstnance.

Parametr SQL HAVING: příklady, syntaxe

Zvažme některé zvláštnosti syntaxe HAVING SQL. Popis tohoto parametru je poměrně jednoduchý. Nejprve, jak již bylo řečeno, používá se výhradně ve spojení s parametrem GROUP BY a je zadáno bezprostředně za ním a před příkazem ORDER BY, pokud je v dotazu jedna. Je pochopitelné, protože HAVING definuje podmínky pro již seskupená data. Zadruhé, ve stavu tohoto parametru můžete použít pouze agregované funkce a pole uvedené v parametru GROUP BY. Všechny podmínky v tomto parametru jsou přesně zadány stejným způsobem jako v případě WHERE.

Závěr

Jak vidíte, v tomto operátorovi není nic komplikovaného. Sémanticky se používá stejným způsobem jako WHERE. Je důležité pochopit, že WHERE se používá ve vztahu ke všem volitelným datům a HAVING je relativní pouze vůči skupinám definovaným v parametru GROUP BY. Představili jsme komplexní popis HAVING SQL, který je dostatečný k tomu, aby s ním mohl pracovat s jistotou.

Sdílet na sociálních sítích:

Podobné
© 2021 nisfarm.ru