Oct 29, 2023

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.

SQL UPDATE Naredba

UPDATE je SQL naredba koja se koristi za ažuriranje postojećih redova u tabeli baze podataka. Evo primera:

    
    UPDATE Korisnici
    SET Status = 'Aktivan'
    WHERE KorisnikID = 123;
    
    

Ovaj upit će ažurirati tabelu "Korisnici" tako da kolona "Status" za korisnika sa ID brojem 123 bude postavljena na "Aktivan".

Napomena: UPDATE naredba obavezno sadrži SET klauzulu koja definiše koje kolone želite da ažurirate i nove vrednosti koje ćete postaviti. Takođe, često se koristi WHERE klauzula da se specificira koji redovi u tabeli će biti ažurirani (ukoliko se izostavi, svi redovi u koloni će biti ažurirani).