Oct 29, 2023

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.

SQL Wildcards

Wildcards (džokeri) su specijalni znakovi koji se koriste u SQL upitima za pretragu vrednosti koje se podudaraju sa određenim oblicima ili obrascima. Ovi znakovi čine pretragu tekstualnih vrednosti fleksibilnom i moćnom.

Najčešće korišćeni wildcards su:

  • % (procento): Zamena za nula, jedan ili više karaktera.
  • _ (donja crta): Zamena za tačno jedan karakter.
  • [ ] (uglaste zagrade): Koriste se za definisanje opsega karaktera.
  • [^ ] (uglaste zagrade s kareta): Koriste se za isključivanje određenih karaktera iz opsega.

Primeri korišćenja Wildcards:

    
-- Pronalaženje svih korisnika čija se adresa završava 
-- sa "Street" ili "Avenue".
SELECT * FROM Korisnici
WHERE Adresa LIKE '%Street' OR Adresa LIKE '%Avenue';

-- Pronalaženje svih proizvoda čije ime počinje 
-- sa slovima "S", "T" ili "U".
SELECT * FROM Proizvodi
WHERE Ime LIKE '[STU]%';

-- Pronalaženje svih gradova čiji naziv počinje 
-- sa slovom iz opsega A do G.
SELECT * FROM Gradovi
WHERE Naziv LIKE '[A-G]%';

-- Pronalaženje svih vrednosti koje ne sadrže cifre.
SELECT * FROM Podaci
WHERE Vrednost LIKE '[^0-9]%';
    
    

Korišćenje wildcards olakšava pretragu i filtriranje podataka u SQL upitima, omogućavajući precizno pronalaženje vrednosti koje odgovaraju određenim obrascima ili zahtevima.