Pristanak na kolačiće

Koristimo kolačiće kako bismo poboljšali vaše iskustvo i analizirali korištenje stranice.

Idemo dalje u svijet SQL-a

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! 🚀✨