SQL – Osnovno spajanje tabela

Jedna od najvećih prednosti jezika SQL je njegova mogućnost da spaja i manipuliše podacima koji se nalaze u više različitih izvornih tabela. U velikoj većini slučajeva upiti se ne izvršavaju samo nad jednom tabelom, već nad više njih koje je potrebno na neki od načina, spojiti. Da nema ove mogućnosti, trebali bi smo da sve moguće podatke stavimo u jednu jedinu tabelu. Ali, gde je onda tu relacioni model?

Kao uvod u ovu široku temu, prvo ćemo objasniti najjednostavnije spajanje dve tabele uz pomoć SELECT naredbe. Za ovu potrebu, kreiraćemo dve tabele sa recimo dva polja (kao u gornjem delu slike). U prva polja obe tabele ćemo ubaciti identifikacione oznake za svaki slog u datoj tabeli, a u drugom polju će biti oznake samih tabela (radi kasnije identifikacije). A sada ćemo postaviti i osnovi upit za spajanje dve tabele:


SELECT *
FROM Tabela1,Tabela2;

Ovim upitom vršimo izbor svih dostupnih polja iz obe tabele. Rezultat upita je prikazan u donjem delu slike. Šta se dogodilo? Od po tri sloga u svakoj tabeli, nastalo je devet rezultujućih. Ali pogledajte malo bolje u rezultat, i videćete da je svakom slogu prve tabele pridružen svaki od slogova druge tabele, što znači 3 puta 3. Na ovaj način kreirali smo prvi upit za spajanje tabela, koji se još naziva i „cross-join„. Ova vrsta spajanja tabela nema neki značaj u svakodnevnom radu, ali je dobra za ilustraciju osnovne osobine svih spajanja – spajanje dve tabele (ili više njih) u jednu.

Pratite Krstaricu na www.krstarica.com