참고 : 1) MySQL 커뮤니티 존 참고
모든 부서에 대해, 부서번호/ 부서이름/부서의 사원 이름을 조회
* Natural(Inner) Join
SELECT D.deptno, D.dname, E.ename
FROM dept D, emp E
WHERE D.deptno = E.deptno
* Left Join
Outer Join
SELECT D.deptno, D.dname, E.ename
FROM dept D LEFT JOIN emp E
ON D.deptno = E.deptno
Self Join ( 모든 사원의 사원 이름과 그 사원의 상사 이름을 조회)
SELECT E.ename emp_name, M.ename manager_name
FROM emp E LEFT Join emp M
ON E.mgr = M.empno
둘의 차이는 무엇일까요?
가장 큰 차이점은, 조건에 맞지 않는 경우도 결과를 리턴의 유무이다.
즉, Inner Join의 경우는 결과값만 리턴하는데 반해
Left(Outer) Join의 경우는, 결과값이 없으면 Null을 리턴한다.