Mať klauzulu v SQL

Mat Klauzulu V Sql



Cieľom tohto tutoriálu je pomôcť vám pochopiť a používať klauzulu HAVING v príkazoch SQL.

Poďme sa ponoriť.







Klauzula SQL Have

Klauzula HAVING v SQL vám umožňuje nastaviť podmienku v skupinách definovaných v klauzule SQL GROUP BY.



Klauzulu GROUP BY môžete použiť na usporiadanie údajov do rôznych oddielov v SQL. So skupinami môžete vykonávať viacero akcií, napríklad agregačné funkcie.



Pomocou klauzuly HAVING môžete zadať podmienku pre skupiny. Klauzulu HAVING však môžete použiť aj bez párovania GROUP BY. V takom prípade sa klauzula HAVING bude správať podobne ako klauzula WHERE, ktorá vám umožňuje vyhľadávať zodpovedajúce záznamy.





Nasledujúci útržok kódu definuje syntax pre klauzulu SQL HAVING:

SELECT stĺpce
FROM table_name
GROUP BY group_by_clause
HAVING group_condition;



Príklad 1: Použitie klauzuly HAVING s tabuľkou filmov

Aby sme čo najlepšie pochopili, ako používať klauzulu HAVING v SQL, použijeme vzorovú databázu poskytovanú MySQL.

Ďalšie informácie nájdete v nasledujúcom poskytnutom zdroji:

Pre túto ilustráciu použijeme tabuľku filmov z databázy sakila, ktorá je uvedená na uvedenom odkaze.

Filmy s nájomným ratingom 2,99 a vyšším môžeme nájsť pomocou klauzuly HAVING, ako je uvedené v nasledujúcom dotaze:

vyberte title, release_year, rating, rental_rate
z filmu
skupina podľa hodnotenia
so sadzbou nájomného > = 2,99 ;


Výsledná tabuľka je nasledovná:


V tomto prípade dotaz nájde 4 zodpovedajúce záznamy, ako je uvedené v predchádzajúcej tabuľke.

Príklad 2: Použitie klauzuly HAVING s agregovanou funkciou

Môžeme tiež použiť funkciu sum() na určenie filmu so súčtom hodnotení filmu s konkrétnym rozsahom rent_rate.

vyberte title, release_year, rating, rental_rate, súčet ( rent_rate )
z filmu
skupina podľa hodnotenia
majúce súčet ( rent_rate ) medzi 500 a 600 ;


V tomto prípade by mal dotaz vrátiť tabuľku takto: