[MYSQL] 테이블 결합 - (2)

Cein1·2022년 10월 23일

d. 외부 결합(Outer Join)

여러 개의 테이블에서 한 쪽에는 데이터가 있고, 한 쪽에는 데이터가 없는 경우, 데이터가 있는 쪽의 테이블을 기준으로 모두 출력하는 결합 방법입니다.

LEFT / RIGHT / FULL OUTER JOIN 이 있습니다.

  • LEFT JOIN

    • 기준이 되는 LEFT TABLE의 모든 row
    • join이 걸리는 RIGHT에서 left와 매칭되는 row만 검색
    • 매칭되는 결과가 없는 경우 빈 값(NULL)로 표시
      //LEFT JOIN
      mysql> SELECT
      	users.id,
      	users.name
      	users.job_id
      	jobs.job
      FROM users LEFT JOIN jobs ON users.job_id=jobs.id;
  • RIGHT JOIN

    • join이 걸리는 RIGHT TABLE의 모든 row

    • 기준이 되는 테이블 LEFT에서 right와 매칭되는 row만 검색

    • 매칭되는 데이터가 없는 경우 NULL로 표시

      mysql> SELECT
      	users.id,
      	users.name,
      	users.job_id,
      	jobs.job
      FROM users
      RIGHT JOIN jobs ON users.job_id=jobs.id;
  • FULL JOIN

    • LEFT OUTER JOIN + RIGHT OUTER JOIN
    • 기준이 되는 LEFT와 join이 걸리는 RIGHT 양쪽 모두의 row를 검색

0개의 댓글