Oct 29, 2023

SQL HAVING klauzula

HAVING (Imajući) je klauzula u SQL upitu koja se koristi zajedno sa "GROUP BY" kako bi se filtrirali rezultati grupisanih redova. Ova klauzula omogućava postavljanje uslova za grupisane podatke nakon što su grupisani i agregirani. "HAVING" se koristi za filtriranje grupa koje ispunjavaju određene uslove.

Primer korišćenja HAVING:

Grupisanje korisnika prema njihovim gradovima i izračunavanje ukupnog broja korisnika u svakom gradu, a zatim filtriranje gradova sa više od 10 korisnika.

    
    SELECT Grad, COUNT(*) AS BrojKorisnika
    FROM Korisnici
    GROUP BY Grad
    HAVING COUNT(*) > 10;
    
    

Ovaj upit će grupisati korisnike po njihovim gradovima, izračunati ukupan broj korisnika u svakom gradu i zatim filtrirati samo one gradove gde ima više od 10 korisnika.

Napomena: "HAVING" se koristi isključivo sa "GROUP BY" i koristi se za filtriranje grupisanih podataka na osnovu agregatnih funkcija (npr. COUNT, SUM) ili drugih uslova. To omogućava da se selektuju samo one grupe koje ispunjavaju određene kriterijume.

SQL GROUP BY

GROUP BY (Grupisanje po) je klauzula u SQL upitu koja se koristi za grupisanje redova iz tabele na osnovu vrednosti u određenoj koloni. Ovo omogućava agregiranje podataka i primenu funkcija nad grupisanim redovima.

Primer korišćenja GROUP BY:

Grupisanje korisnika prema njihovom gradu i izračunavanje ukupnog broja korisnika u svakom gradu.

    
    SELECT Grad, COUNT(*) AS BrojKorisnika
    FROM Korisnici
    GROUP BY Grad;
    
    

Ovaj upit će grupisati korisnike po njihovim gradovima i vratiti rezultat sa dve kolone: "Grad" i "BrojKorisnika". Brojač "COUNT(*)" će izračunati ukupan broj korisnika u svakom gradu.

Napomena: Uz "GROUP BY", često se koriste agregatne funkcije kao što su "SUM", "AVG", "MAX" ili "MIN" kako bi se izračunali statistički podaci za svaku grupu.

SQL Alias

Alias (Privremeno Ime) je koncept koji se koristi u SQL upitima kako bi se dodeljivala privremena imena kolonama ili tabelama radi olakšanja čitljivosti upita ili promene prikazanih imena kolona.

Primer korišćenja Aliasa:

Korišćenje aliasa za preimenovanje kolone "Ime" u "Kupčeva Imena" u rezultatu upita.

    
    SELECT Ime AS "Kupčeva Imena"
    FROM Kupci;
    
    

Ovaj upit će promeniti prikazane nazive kolona u rezultatu upita sa "Ime" na "Kupčeva Imena" kako bi bilo jasnije.

Evo još jednog primera:

    
    -- Korišćenje aliasa za preimenovanje tabele "Porudžbine" 
    -- u "Narudžbine".
    SELECT *
    FROM Porudžbine AS Narudžbine;
    
    

U ovom slučaju, cela tabela "Porudžbine" je privremeno preimenovana kao "Narudžbine" kako bi se olakšalo pisanje upita.

Korišćenje aliasa je korisno za poboljšanje čitljivosti upita i može biti posebno korisno kada se koristi više tabela u složenim upitima. Aliasima se može dodeliti bilo koje privremeno ime koje vam olakšava rad sa podacima.