JOIN - SQL

1874 단어 sqlsql

JOIN

  • 둘 이상의 테이블에서 데이터가 필요한 경우 테이블 조인 필요
  • 일반적으로 조인 조건을 포함하는 where 절 작성 필요
  • 조인 조건은 일반적으로 각 테이블의 PK 및 FK로 구성

JOIN의 종류

  • INNER JOIN
  • OUTER JOIN
    • LEFT OUTER JOIN
    • RIGHT OUTER JOIN

JOIN 조건의 명시에 따른 구분

  • NATURAL JOIN
  • CROSS JOIN(FULL JOIN, CARTESIAN JOIN)

INNER JOIN

  • 가장 일반적인 JOIN 종류이며 교집합이다.
  • 동등 조인(Equi-Join)이라고도 불리며, N개의 테이블 조인 시 N-1개의 조인 조건이 필요

형식

SELECT COL1, COL2, ... , COLN
FROM table1 INNER JOIN table2
ON table1.column = table2.column;

OUTER JOIN

  • LEFT OUTER JOIN, RIGHT OUTER JOIN, FULL OUTER JOIN으로 구분
  • 어느 한쪽 테이블에는 해당하는 데이터가 존재하는데 다른 쪽 테이블에는 데이터가 존재하지 않을 경우 그 데이터가 검색되지 않는 문제점을 해결하기 위해 사용

LEFT OUTER JOIN

  • 왼쪽 테이블을 기준으로 JOIN 조건에 일치하지 않는 데이터까지 출력
  • 형식
SELECT COL1, COL2, ... , COLN
FROM table1 LEFT OUTER JOIN table2
ON or USING;

RIGHT OUTER JOIN

  • 오른쪽 테이블을 기준으로 JOIN 조건에 일치하지 않는 데이터까지 출력
  • 형식
SELECT COL1, COL2, ... , COLN
FROM table1 RIGHT OUTER JOIN table2
ON or USING;

FULL OUTER JOIN

  • 양쪽 테이블을 기준으로 JOIN 조건에 일치 하지 않는 데이터까지 출력
  • 형식
SELECT COL1, COL2, ... , COLN
FROM table1 FULL OUTER JOIN table2
ON or USING
  • MYSQL은 지원 x

SELF JOIN

  • 같은 테이블끼리 JOIN

None-Equi JOIN

  • table의 PK, FK가 아닌 일반 column을 join 조건으로 지정

좋은 웹페이지 즐겨찾기