SQL - CROSS JOIN Operacija


Korištenje unakrsnih spajanja

Ako ne navedete uslov pridruživanja prilikom spajanja dvije tabele, sistem baze podataka kombinuje svaki red iz prve tabele sa svakim redom iz druge tabele. Ova vrsta spajanja naziva se poprečna spojnica ili kartezijanski proizvod. Sljedeći Venov dijagram ilustruje kako funkcioniše poprečno spajanje.



Da bismo to lako razumjeli, pogledajmo sljedeće tabele zaposlenih i odjela.



Broj redova u unakrsnom spajanju umnožak je broja redova u svakoj tabeli. Evo jednostavnog primjera operacije unakrsnog spajanja.

SELECT t1.emp_id, t1.emp_name, t1.hire_date, t2.dept_name
FROM employees AS t1 CROSS JOIN departments AS t2;

Nakon izvršavanja gornje naredbe, dobit ćete rezultat poput ovako:



Kao što vidite, poprečno spajanje nije toliko korisno kao ostala spajanja koja smo obrađivali u prethodnim lekcijama. Budući da upit nije specificirao uslov pridruživanja, svaki red iz tabele zaposlenih kombinuje se sa svakim redom iz tablele odjeljenja. Stoga, osim ako niste sigurni da želite kartezijski proizvod, nemojte koristiti poprečno spajanje.