Oct 29, 2023

SQL Aritmetički Operatori

Aritmetički operatori u SQL-u omogućavaju izvođenje matematičkih operacija nad numeričkim vrednostima u upitima. Evo nekoliko često korišćenih aritmetičkih operatora sa primerima:

Sabiranje (+):

Koristi se za sabiranje dve numeričke vrednosti.

    
    SELECT Cena + Popust AS KonacnaCena
    FROM Proizvodi;
    
    

Oduzimanje (-):

Koristi se za oduzimanje jedne numeričke vrednosti od druge.

    
    SELECT UkupanIznos - Popust AS Placanje
    FROM Narudžbine;
    
    

Množenje (*):

Koristi se za množenje dve numeričke vrednosti.

    
    SELECT Cena * Količina AS UkupanIznos
    FROM StavkeNarudžbine;
    
    

Deljenje (/):

Koristi se za deljenje jedne numeričke vrednosti sa drugom.

    
    SELECT UkupanIznos / BrojStavki AS ProsečnaCena
    FROM Narudžbine;
    
    

Modulo (%):

Vraća ostatak pri deljenju dve numeričke vrednosti.

    
    SELECT Broj % 2 AS Ostatak
    FROM Tabela;
    
    

SQL CASE klauzula

CASE (SLUČAJ) klauzula u SQL-u se koristi za implementaciju uslovnih izraza u upitima. Omogućava vam da definišete različite radnje ili vrednosti na osnovu ispunjenja određenih uslova. CASE može biti korisna za izbor različitih vrednosti za istu kolonu ili za kreiranje dodatnih kolona na osnovu uslovnih provera.

Primer korišćenja CASE:

Korišćenje CASE klauzule za dodelu ocene "Prolaz" ili "Pad" na osnovu rezultata ispita.

    
    SELECT Ime, Rezultat,
      CASE
        WHEN Rezultat >= 50 THEN 'Prolaz'
        ELSE 'Pad'
      END AS Ocena
    FROM Ispiti;
    
    

Ovaj upit će dodati kolonu "Ocena" koja će sadržavati vrednost "Prolaz" ako je rezultat veći ili jednak 50, inače će sadržavati vrednost "Pad".

Korišćenje CASE klauzule sa više uslova za dodelu ocene "Odličan", "Dobar", "Prosečan" ili "Nedovoljan" na osnovu rezultata ispita.

    
    SELECT Ime, Rezultat,
      CASE
        WHEN Rezultat >= 90 THEN 'Odličan'
        WHEN Rezultat >= 70 THEN 'Dobar'
        WHEN Rezultat >= 50 THEN 'Prosečan'
        ELSE 'Nedovoljan'
      END AS Ocena
    FROM Ispiti;
    
    

Ovaj upit će dodati kolonu "Ocena" koja će sadržavati vrednosti "Odličan", "Dobar", "Prosečan" ili "Nedovoljan" u zavisnosti od vrednosti u koloni "Rezultat". Na osnovu različitih uslova, različite ocene će biti dodeljene.

SQL SUM() i AVG() funkcije

SUM() (ZBIR()) funkcija se koristi za izračunavanje ukupnog zbirnog broja vrednosti u određenoj koloni, dok se AVG() (PROSEK()) funkcija koristi za izračunavanje prosečne vrednosti u toj koloni. Obe funkcije se često koriste za analizu numeričkih podataka.

Primer korišćenja SUM():

Korišćenje SUM() funkcije za izračunavanje ukupne vrednosti svih narudžbina.

    
    SELECT SUM(Iznos) AS UkupanIznos
    FROM Narudžbine;
    
    

Ovaj upit će izračunati ukupan iznos svih narudžbina u tabeli "Narudžbine" i vratiti ga kao "UkupanIznos".

Primer korišćenja AVG():

Korišćenje AVG() funkcije za izračunavanje prosečne ocene proizvoda.

    
    SELECT AVG(Ocena) AS ProsečnaOcena
    FROM Proizvodi;
    
    

Ovaj upit će izračunati prosečnu ocenu svih proizvoda u tabeli "Proizvodi" i vratiti je kao "ProsečnaOcena".