U prethodnom blogu smo zajedno istraživali osnove SQL-a, a sada ćemo se posvetiti fascinantnim svjetovima joinova i subquerija.Baze podataka su temelj digitalnog doba, a razumevanje ovih pojmova ključno je za efikasno upravljanje podacima.
Pridružite nam se dok otkrivamo moć povezivanja podataka i izdvajamo skrivene informacije kroz SQL. Vrijeme je da zaronimo u svet SQL joinova i subquerija! 🚀✨
JOIN
JOIN operacije u SQL-u omogućavaju povezivanje redova iz dvije ili više tabela na osnovu određenih uslova, čime se stvara rezultujući skup podataka koji sadrži informacije iz obe tabele. Ovo je od suštinskog značaja kada radimo s većim količinama podataka koje su raspoređene u različitim tabelama, a želimo dobiti sveobuhvatne informacije.
Postoje različite vrste JOIN operacija, u nastavku cemo ih objasniti:
INNER JOIN
Inner Join vraća redove koji se podudaraju obe tabele. Samo redovi koji zadovoljavaju uslov joina će biti prikazani u rezultatu.
Primjer:
SELECT k.ime, n.proizvod
FROM korisnici
INNER JOIN narudžbe ON k.id = n.korisnik_id;
LEFT JOIN
Left Join vraća sve redove iz lijeve tabele i podudarne redove iz desne tabele. Ako nema podudaranja u desnoj tabeli, polja iz desne tabele će biti NULL.
Primjer:
SELECT k.ime, n.proizvod
FROM korisnici
LEFT JOIN narudžbe ON k.id = n.korisnik_id;
RIGHT JOIN
Right Join je sličan Left Join-u, ali vraća sve redove iz desne tabele i podudarne redove iz lijeve tabele. Ako nema podudaranja u lijevoj tabeli, polja iz lijeve tabele će biti NULL.
Primjer:
SELECT k.ime, n.proizvod
FROM korisnici
RIGHT JOIN narudžbe ON k.id = n.korisnik_id
FULL OUTER JOIN
Full Outer Join vraća sve redove iz obe tabele, sa podudaranjima kad god su dostupna. Ako nema podudaranja, polja iz odgovarajuće tabele će biti NULL.
SELECT k.ime, n.proizvod
FROM korisnici
FULL OUTER JOIN narudžbe ON k.id = n.korisnik_id;
CROSS JOIN
Cross Join generiše kartezijanski proizvod između redova u obe tabele, što rezultira svakim redom iz lijeve tabele kombinovanim sa svakim redom iz desne tabele.
SELECT k.ime, p.naziv
FROM korisnici
CROSS JOIN proizvodi;
SUBQUERY
Subqueriji, ili podupiti, predstavljaju moćan alat u SQL-u koji omogućava upotrebu jednog upita unutar drugog. Ova tehnika je korisna za izdvajanje ili manipulaciju podacima na višem nivou i često se koristi u WHERE, FROM ili SELECT klauzulama.
U nastavku pregled nekoliko vrsta subquerija:
JEDNOSTAVNI SUBQUERIES U SKLOPU WHERE KLAUZE
Subupiti se koriste kao deo WHERE klauzule kako bi se filtrirali redovi u glavnom upitu na osnovu rezultata podupita.
SELECT ime, prezime
FROM korisnici
WHERE id IN (SELECT korisnik_id FROM narudzbine WHERE iznos > 1000);
SKALARNI SUBQUERIES
Skalarni subupiti vraćaju jednu vrijednost i koriste se kao dio SELECT klauzule ili u uslovima poređenja.
SELECT ime, prezime, (SELECT COUNT(*) FROM narudžbe WHERE korisnik_id = korisnici.id) AS broj_narudžbi
FROM korisnici;
SUBQUERIES U FROM KLAUZI
Subupiti se koriste unutar FROM klauzule za generisanje privremene tabele koja se koristi u glavnom upitu.
SELECT AVG(ocijena)
FROM (SELECT ocijena FROM recenzije WHERE proizvod_id = 1) AS proizvod_ocijene;
POSTAVLJANJE PITANJA KROZ SUBQURIJE
Subupiti se koriste za postavljanje pitanja o podacima, često u uslovima poređenja ili kao argumenti funkcija.
SELECT * FROM proizvodi
WHERE cijena > (SELECT AVG(cena) FROM proizvodi);
Hvala što ste pratili blog o SQL-u! Nadam se da ste stekli korisne uvide u joinove i subquerije. Ako želite proširiti svoje znanje, posjetite sajtove poput W3Schools i Geek for Geeks.
Takođe, pratite Encode za najnovije informacije iz IT svijeta.
Hvala na čitanju i sretno u daljem istraživanju SQL-a! 🚀✨