SQL - LEFT JOIN Operacija


Korištenje lijevih pridruživanja

Izraz LEFT JOIN vraća sve redove iz lijeve tabele zajedno s redovima iz desne tabele za koje je ispunjen uslov pridruživanja. Lijevo spajanje je vrsta vanjskog spajanja, zbog čega se naziva i lijevim vanjskim spajanjem. Ostale varijacije vanjskog spajanja su pravo spajanje i potpuno spajanje. Sljedeći Venov dijagram ilustruje kako funkcioniše lijevo spajanje.



Da bismo to jasno razumjeli, pogledajmo sljedeću tabelu zaposlenih i odjela.



Recimo sada da želite pronaći ID, ime i datum zaposlenja svih zaposlenih zajedno sa nazivom njihovog odjela, bez obzira na to jesu li dodijeljeni nekom odjelu ili ne. Da bismo dobili takav tip rezultata, trebamo primijeniti lijevo spajanje. Sljedeća izjava dohvata ID zaposlenog, ime, datum zapošljavanja i ime njihovog odjela spajanjem tabela zaposlenih i odjela koristeći zajedničko polje dept_id. Takođe uključuje one zaposlene koji nisu raspoređeni u odjel.

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

Nakon izvršavanja gornje naredbe, dobit ćete izlaz otprilike ovako:



Kao što jasno možete vidjeti, lijevo pridruživanje uključuje sve redove iz tabele zaposlenih u skupu rezultata, bez obzira na to postoji li podudaranje u koloni dept_id u tabeli odjeljenja.