[DB-3]

JOIN

  • 둘 이상의 테이블에서 데이터가 필요한 경우 테이블 조인이 필요
  • INNER JOIN : N개의 테이블 조인 시 N-1개의 조인 조건 필요
1
2
3
4
SELECT employee_id, first_name, salary, department_name
FROM employees e, departments d
WHERE e.department_id = d.department_id
AND employee_id = 100;
  • ON 사용
1
2
3
4
SELECT employee_id, first_name, salary, department_name
FROM employees e INNER JOIN departments d
ON e.department_id = d.department_id
WHERE employee_id = 100;
  • USING 사용
1
2
3
4
SELECT employee_id, first_name, salary, department_name
FROM employees e JOIN departments d
USING (department_id)
WHERE employee_id = 100;
  • LEFT OUTER JOIN : 왼쪽 테이블을 기준으로 JOIN 조건에 일치하지 않는 데이터까지 출력
  • SELF JOIN : 같은 테이블끼리 JOIN

서브 쿼리

  • 서브 쿼리의 종류
    • 중첩 서브 쿼리 : WHERE문에 작성하는 서브 쿼리
    • 인라인 뷰 : FROM 문에 작성하는 서브 쿼리
    • 스칼라 서브 쿼리 : SELECT 문에 작성하는 서브 쿼리
  • 서브 쿼리에는 order by를 사용하지 못한다.