SQL - RIGHT JOIN Operacija


Korištenje desnih pridruživanja

RIGHT JOIN je sušta suprotnost LEFT JOIN. Vraća sve redove iz desne tabele zajedno s redovima iz lijeve tabele za koje je ispunjen uslov pridruživanja. Desno spajanje je vrsta vanjskog pridruživanja, zbog čega se naziva i vanjskim spojem desno. Ostale varijacije vanjskog pridruživanja su lijevo i potpuno spajanje. Sljedeći Venov dijagram ilustruje kako funkcioniše pravilno spajanje.



Da bismo to jasno razumjeli, pogledajmo sljedeće tabele zaposlenih (employees) i odjela (departments).



Recimo sada da želite pronaći imena svih odjeljenja kao i detalje o zaposlenima koji rade u tom odjelu. Ali, u stvarnoj situaciji možda postoji neki odjel u kojem trenutno ne radi nijedan zaposleni. Pa, hajde da saznamo. Sljedeća izjava dohvata sve dostupne odjele, kao i ID, ime, datum zapošljavanja zaposlenih koji pripadaju tom odjelu spajanjem tabela zaposlenih i odjela koristeći zajedničko polje dept_id.

SELECT t1.emp_id, t1.emp_name, t1.hire_date, t2.dept_name
FROM employees AS t1 RIGHT JOIN departments AS t2
ON t1.dept_id = t2.dept_id ORDER BY dept_name;

Nakon izvršavanja gornje naredbe, dobićete otprilike ovakav izlaz:



Pravo pridruživanje uključuje sve redove iz tabele odjeljenja u skupu rezultata, bez obzira na to postoji li podudaranje u koloni dept_id u tabeli zaposlenih, kao što jasno možete vidjeti da je odjel "Customer Service" uključen čak i ako nema zaposlenih u ovom odjelu.