넓고 얕은 데이터베이스 지식/SQL
SQL JOIN 1분 요약 정리
팡펑퐁
2023. 2. 21. 03:44
728x90
JOIN
- 데이터를 검색할 때 두 개 이상의 테이블을 서로 연결하여 검색하는 방법을 의미한다.
INNER JOIN
- 기준 테이블과 JOIN하는 테이블 모두 같은 칼럼 데이터가 존재해야 한다.(ON 절을 기준으로 조회)
- MySQL에서는 JOIN, INNER JOIN, CROSS JOIN이 모두 같은 의미로 사용된다.
FULL OUTER JOIN
- 두 테이블의 모든 값을 유지하여 출력한다.
- MySQL에서는 FULL OUTER JOIN을 지원하지 않아 LEFT OUTER JOIN의 결과와 RIGHT OUTER JOIN의 결과를 UNION 하는 방식으로 사용해야 한다.(그림 맨 아래에서 오른쪽)
- 보통은 성능 문제로 사용하지 않는다.
ex)
SELECT * FROM tableA A LEFT JOIN tableB B
UNION
SELECT * FROM tableA A RIGHT JOIN tableB B
LEFT/RIGHT OUTER JOIN
- LEFT JOIN = LEFT OUTER JOIN
- RIGHT JOIN = RIGHT OUTER JOIN
- 두 테이블을 합칠 때 왼쪽/오른쪽 테이블 중 어느 쪽을 기준으로 했는지에 따라 기준 테이블의 것을 모두 출력하고, 일치하지 않은 부분은 null 값으로 채워진다.
참고 :
728x90