Tämän opetusohjelman tarkoituksena on auttaa sinua ymmärtämään ja käyttämään HAVING-lausetta SQL-käskyissä.
Sukeltakaamme sisään.
SQL-lauseke
SQL:n HAVING-lause antaa sinun asettaa ehdon SQL GROUP BY -lauseessa määritetyille ryhmille.
GROUP BY -lauseen avulla voit järjestää tiedot eri osioihin SQL:ssä. Voit suorittaa ryhmille useita toimintoja, kuten koostefunktioita.
HAVING-lauseen avulla voit määrittää ryhmille ehdon. Voit kuitenkin käyttää HAVING-lausetta ilman GROUP BY -pariliitosta. Tällaisessa tapauksessa HAVING-lause toimii samalla tavalla kuin WHERE-lauseke, jonka avulla voit etsiä vastaavia tietueita.
Seuraava koodinpätkä määrittää SQL HAVING -lauseen syntaksin:
VALITSE sarakkeetFROM taulukon_nimi
GROUP BY group_by_lause
ON ryhmän_ehto;
Esimerkki 1: HAVING-lausekkeen käyttö elokuvataulukon kanssa
Ymmärtääksemme parhaiten, kuinka HAVING-lausetta käytetään SQL:ssä, käytämme MySQL:n toimittamaa esimerkkitietokantaa.
Saat lisätietoja seuraavista resursseista:
Tässä kuvassa käytämme annetussa linkissä olevaa Sakila-tietokannan filmitaulukkoa.
Löydämme elokuvat, joiden vuokraluokitus on 2,99 tai enemmän, käyttämällä HAVING-lauseketta, kuten seuraavassa kyselyssä näkyy:
valitse otsikko, julkaisuvuosi, luokitus, vuokrahintaelokuvasta
ryhmitellä luokituksen mukaan
joiden vuokrahinta > = 2.99 ;
Tuloksena oleva taulukko on seuraava:
Tässä tapauksessa kysely löytää 4 vastaavaa tietuetta edellisen taulukon mukaisesti.
Esimerkki 2: HAVING-lauseen käyttäminen aggregaattifunktion kanssa
Voimme myös käyttää sum()-funktiota elokuvan määrittämiseen elokuvan arvioiden summalla tietyllä vuokra_korko-välillä.
valitse otsikko, julkaisuvuosi, luokitus, vuokrahinta, summa ( vuokra_korko )elokuvasta
ryhmitellä luokituksen mukaan
joilla on summa ( vuokra_korko ) välillä 500 ja 600 ;
Tässä tapauksessa kyselyn pitäisi palauttaa taulukko seuraavasti: