Imeti klavzulo v SQL

Imeti Klavzulo V Sql



Namen te vadnice je pomagati razumeti in uporabljati klavzulo HAVING v stavkih SQL.

Potopimo se.







SQL Having klavzula

Klavzula HAVING v SQL vam omogoča, da nastavite pogoj v skupinah, definiranih v klavzuli SQL GROUP BY.



Za organiziranje podatkov v različne particije v SQL lahko uporabite klavzulo GROUP BY. Na skupinah lahko izvajate več dejanj, na primer združevalne funkcije.



S klavzulo HAVING lahko podate pogoj za skupine. Vendar pa lahko uporabite klavzulo HAVING brez parjenja GROUP BY. V takem primeru se klavzula HAVING obnaša podobno kot klavzula WHERE, ki vam omogoča iskanje ujemajočih se zapisov.





Naslednji delček kode definira sintakso za klavzulo SQL HAVING:

IZBERI stolpce
FROM ime_tabele
GROUP BY group_by_clause
HAVING skupinski_pogoj;



1. primer: uporaba klavzule HAVING s filmsko tabelo

Da bi najbolje razumeli, kako uporabiti klavzulo HAVING v SQL, bomo uporabili vzorčno bazo podatkov, ki jo ponuja MySQL.

Za več informacij si lahko ogledate naslednji vir:

Za to ilustracijo bomo uporabili filmsko tabelo iz zbirke podatkov sakila, ki je na voljo na dani povezavi.

Najdemo lahko filme z oceno za izposojo 2,99 in več z uporabo klavzule HAVING, kot je prikazano v naslednji poizvedbi:

izberite naslov, leto_izida, ocena, stopnja_najema
iz filma
skupina po ocenah
ob najemnini > = 2,99 ;


Končna tabela je naslednja:


V tem primeru poizvedba najde 4 ujemajoče se zapise, kot je prikazano v prejšnji tabeli.

Primer 2: Uporaba klavzule HAVING z agregatno funkcijo

Uporabimo lahko tudi funkcijo sum() za določitev filma z vsoto ocen filma z določenim razponom rental_rate.

izberite naslov, leto_izida, ocena, najemnina, vsota ( najemnina )
iz filma
skupina po ocenah
imeti vsota ( najemnina ) med 500 in 600 ;


V tem primeru mora poizvedba vrniti tabelo na naslednji način: