HAVING SQL: opis, sintaksa, primjeri

SQL je standardni jezik za rad s relacijskim bazama podataka. U svom arsenalu ima mnogo moćnih alata za manipuliranje podacima pohranjenim u obliku tablica.

Nesumnjivo, sposobnost grupiranja podataka u njihovom uzorku na određenoj osnovi je jedan takav alat. SQL izraz HAVING, zajedno s WHERE izrazom, omogućuje vam definiranje uvjeta za uzorak podataka koji su već grupirani na određeni način.

Parametar HAVING SQL: description

Prije svega, vrijedi napomenuti da je ovaj parametar opcionalan i primjenjuje se samo u vezi s parametrom GROUP BY. Kao što se možete sjetiti, GROUP BY se koristi kada se u SELECT-u koriste agregatne funkcije, a rezultate njihovih izračuna moraju dobiti određene skupine. Ako WHERE omogućuje postavljanje uvjeta uzorka prije grupiranja podataka, HAVING sadrži uvjete koji se odnose na podatke koji su već izravno u samim skupinama. Da bismo bolje razumjeli, pogledajmo primjer s shemom prikazanom na slici ispod.


Ovo je sjajan primjer koji daje HAVING SQL opis. Ova tablica navodi nazive proizvoda, tvrtke koje ih proizvode i neka druga područja. U zahtjevu u gornjem desnom kutu nastojimo dobiti informacije o broju naziva proizvoda koje svaka tvrtka proizvodi, a rezultat želimo prikazati samo onim tvrtkama koje proizvode više od dvije stavke. Parametar GROUP BY formirao je tri skupine, odgovarajuća imena tvrtki, za koje se broji broj proizvoda (linija).No, klauzula HAVING odrezala je jednu skupinu rezultirajućeg uzorka jer nije zadovoljila uvjet. Kao rezultat toga, dobivamo dvije skupine koje odgovaraju tvrtkama s brojem proizvoda 5 i 3.


Može se postaviti pitanje zašto koristiti HAVING ako je SQL GDJE. Ako bismo koristili GDJE, onda bismo pogledali ukupan broj redova u tablici, ne u skupinama, a uvjet u ovom slučaju ne bi imao značenje. Međutim, vrlo često se savršeno podudaraju u jednom upitu.
U gornjem primjeru, možemo vidjeti kako se podaci o imenima zaposlenika navedenih u WHERE-u inicijalno prikupljaju, a zatim grupiraju u GROUP BY, rezultat je dodatna provjera iznosa plaće za svakog zaposlenika.

SQL HAVING parametar: Primjeri, Sintaksa

Razmotrimo neke značajke HAVING SQL sintakse. Opis ovog parametra je vrlo jednostavan. Prvo, kao što je već navedeno, koristi se isključivo u kombinaciji s parametrom GROUP BY i označava se odmah nakon njega i prije ORDER BY, ako postoji, u upitu. To je razumljivo, jer HAVING definira uvjete za grupirane podatke. Drugo, za ovaj se parametar mogu koristiti samo skupne funkcije i polja specificirana u klauzuli GROUP BY. Svi uvjeti iz ovog stavka navedeni su na isti način kao u slučaju WHERE.

Zaključak

Kao što možete vidjeti, u ovom operatoru nema ništa komplicirano. Semantički, koristi se na isti način kao i GDJE. Važno je razumjeti što WHERE koristi za sve svoje podatke i HAVING - samo u odnosu na skupine definirane u GROUP BY klauzuli. Mi jesmoprikazan je iscrpan opis za HAVING SQL, koji je dovoljan za siguran rad s njim.

Povezane publikacije