Oct 29, 2023

SQL UNION

UNION u SQL-u se koristi za spajanje rezultata više upita u jedan rezultat, pri čemu se eliminišu duplicirani redovi.

Primer korišćenja UNION:

    
    SELECT Ime, Prezime FROM Zaposleni
    UNION
    SELECT Ime, Prezime FROM Klijenti;
    
    

Ovaj upit će spojiti imena i prezimena zaposlenih i klijenata iz tabela "Zaposleni" i "Klijenti" i vratiti jedinstvene vrednosti.

Napomena: `UNION` automatski uklanja duplicirane redove. Ako želite zadržati sve redove, uključujući i duplicirane, možete koristiti `UNION ALL` umesto `UNION`.

SQL JOIN (Spajanje) Operacije

JOIN u SQL-u se koristi za spajanje podataka iz više tabela na osnovu određenih uslova. Postoje različite vrste JOIN operacija:

INNER JOIN (Unutarnji JOIN):

INNER JOIN vraća samo redove koji imaju podudaranja u obe tabelama koje se spajaju.

INNER JOIN Primer
    
    SELECT Narudzba.NarudzbaID, Kupac.Ime
    FROM Narudzba
    INNER JOIN Kupac ON Narudzba.KupacID = Kupac.KupacID;
    
    

Ovaj upit će spojiti tabelu "Narudzba" sa tabelom "Kupac" na osnovu zajedničkog polja "KupacID" i vratiti podatke o narudžbama i imenima kupaca.

LEFT JOIN (Levi JOIN):

LEFT JOIN vraća sve redove iz leve tabele i odgovarajuće redove iz desne tabele.

LEFT JOIN Primer
    
    SELECT Radnik.Ime, Radnik.Pozicija, Projekat.Naziv
    FROM Radnik
    LEFT JOIN Projekat ON Radnik.RadnikID = Projekat.RadnikID;
    
    

Ovaj upit će spojiti tabelu "Radnik" sa tabelom "Projekat" na osnovu zajedničkog polja "RadnikID" i prikazati sve radnike i projekte kojima su dodeljeni, uključujući i one radnike koji nisu dodeljeni projektima.

RIGHT JOIN (Desni JOIN):

RIGHT JOIN je sličan LEFT JOIN-u, ali vraća sve redove iz desne tabele i odgovarajuće redove iz leve tabele.

RIGHT JOIN Primer
    
    SELECT Narudzba.NarudzbaID, Kupac.Ime
    FROM Narudzba
    RIGHT JOIN Kupac ON Narudzba.KupacID = Kupac.KupacID;
    
    

Ovaj upit će spojiti tabelu "Narudzba" sa tabelom "Kupac" na osnovu zajedničkog polja "KupacID" i prikazati sve narudžbe i kupce, uključujući i one kupce koji nisu napravili narudžbe.

FULL JOIN (Puni JOIN):

FULL JOIN vraća sve redove iz obe tabele.

FULL JOIN Primer
    
    SELECT Radnik.Ime, Projekat.Naziv
    FROM Radnik
    FULL JOIN Projekat ON Radnik.RadnikID = Projekat.RadnikID;
    
    

Ovaj upit će spojiti tabelu "Radnik" sa tabelom "Projekat" na osnovu zajedničkog polja "RadnikID" i prikazati sve radnike i projekte, uključujući i one koji nemaju podudaranja.

SQL DELETE Naredba

DELETE je SQL naredba koja se koristi za brisanje postojećih redova iz tabele baze podataka. Evo primera:

    
    DELETE FROM Korisnici
    WHERE KorisnikID = 123;
    
    

Ovaj upit će trajno izbrisati korisnika sa ID brojem 123 iz tabele "Korisnici".

Napomena: Budite veoma oprezni prilikom korišćenja DELETE naredbe, jer ona trajno uklanja podatke. Uvek budite sigurni da ste pravilno postavili WHERE klauzulu kako biste precizno odabrali redove koje želite da obrišete. Ukoliko se izostavi WHERE kaluzula, svi podaci ove tabele će biti obrisani, ali ne i sama tabela.