INNER JOIN은 두 테이블 간의 공통된 값들을 보여준다. inner를 생략하고 join만 입력해도 된다.
SELECT *
FROM employee E JOIN department D ON E.dept_id = D.id;
두 테이블을 합친 결과가 출력되었다.
두 테이블에서 join condition을 만족하지 않더라도 결합된 테이블에 출력되게 된다.
FROM table1 LEFT JOIN tables2 ON join_condition
SELECT *
FROM employees AS E
LEFT JOIN departments AS D ON E.dept_id = D.id;
id가 4인 David는 조건에 포함되지 않았지만 left join으로 인하여 조건이 충족되는 오른쪽 department 테이블의 레코드와 함께 결과가 나왔다.
SELECT *
FROM employees AS E
RIGHT JOIN departments AS D ON E.dept_id = D.id;
반대로 조건에 포함되지 않은 id 5번의 HR이 출력되었다.
두 테이블의 동일한 컬럼이 있으면 사용가능하다. 기존 join에서 id가 중복으로 출력되던 것이 왼쪽 한번만 출력되게 된다.
SELECT E.id, E.name, D.name AS department_name
FROM employees E
JOIN departments D USING (dept_id);