SQL - RIGHT JOIN Operacija


Korištenje desnih spajanja

RIGHT JOIN je sušta suprotnost LEFT JOIN. Vraća sve retke iz desne tabele zajedno s redovima iz lijeve tablice za koje je ispunjen uslov pridruživanja. Desno spajanje je vrsta vanjskog spajanja, zbog čega se naziva i vanjskim spojem desno. Ostale varijacije vanjskog spajanja 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 i odjela.



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, dobit ćete izlaz otprilike ovako:



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 "Korisnička služba" uključen čak i ako nema zaposlenih u ovom odjelu.