반응형
INNER JOIN과 OUTER 조인
INNER JOIN : 두 개의 테이블 A, B가 있을 때 이들의 교집합을 찾는 JOIN입니다.
OUTER JOIN : 두 개의 테이블 A, B가 있을 때 이들의 합집합을 찾는 JOIN입니다.
예를 들어, A와 B 테이블에 다음과 같이 자료가 들어가 있을 때 어떻게 사용하는지 봅시다.
A | B |
1 | 3 |
2 | 4 |
3 | 5 |
4 | 6 |
A와 B 테이블의 INNER JOIN 수행
INNER JOIN을 수행하면 두 테이블에 공통 데이터가 있는 열이 출력됩니다.
SELECT * FROM A
INNER JOIN B ON A.a = B.b
위의 쿼리를 수행 시 아래와 같이 데이터가 출력됩니다.
A | B |
3 | 3 |
4 | 4 |
출력 결과에서 알 수 있듯 두 테이블에 공통으로 들어간 열만 출력되는 것을 볼 수 있습니다.
A와 B 테이블의 LEFT OUTER JOIN 수행
LEFT OUTER JOIN을 수행하면 기준이 되는 테이블의 모든 열에 B와 공통되는 부분을 추가로 얻을 수 있습니다.
SELECT * FROM A
LEFT OUTER JOIN B ON A.a = B.b
위의 쿼리를 수행 시 아래와 같이 데이터가 출력됩니다.
A | B |
1 | null |
2 | null |
3 | 3 |
4 | 4 |
출력 결과에서 알 수 있듯 두 테이블 중 기준이 되는 A 테이블의 열은 모두 출력하고 B에서는 A와 곂치는 부분만 출력하는 것을 알 수가 있습니다.
반응형
'DataBase > MySQL, MariaDB' 카테고리의 다른 글
[MariaDB] 인덱스(Index)란 무엇이며 왜 사용하는 걸까? (0) | 2022.02.09 |
---|---|
[MariaDB] 프로시저(Procedure) (0) | 2022.02.07 |
[MariaDB] JOIN에서 ON과 USING 차이점 (0) | 2022.02.03 |
[MariaDB] GROUP BY, HAVING절 (0) | 2022.02.03 |
[MariaDB] 중복 데이터 제거 DISTINCT (0) | 2022.02.03 |