넓고 얕은 데이터베이스 지식/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 값으로 채워진다.

 

 

 

참고 :

https://doh-an.tistory.com/30

https://inpa.tistory.com/entry/MYSQL-📚-JOIN-조인-그림으로-알기쉽게-정리

728x90