JOIN 의 종류
Join 구분 | 설명 |
---|---|
INNER JOIN | 두 테이블 모두 지정한(ON) 열에 데이터가 있는 ROW가 출력된다. |
OUTER JOIN | 두 테이블 중 한 테이블에만 데이터가 있어도 ROW가 출력된다. LEFT OUTER JOIN, RIGHT OUTER JOIN, FULL OUTER JOIN으로 나뉜다. |
LEFT OUTER JOIN | 왼쪽 테이블(=먼저 언급된 테이블)의 모든 ROW가 출력된다. 오른쪽 테이블(=나중에 언급된 테이블)에 데이터가 없더라도 출력된다. |
RIGHT OUTER JOIN | 오른쪽 테이블의 모든 ROW가 출력된다 왼쪽 테이블에 데이터가 없더라도 출력된다. |
FULL OUTER JOIN | JOIN되는 두 테이블의 모든 ROW가 출력된다. 어느 한 쪽이 없더라도 출력된다. |
CROSS JOIN | 상호 JOIN. 한 쪽 테이블의 모든 행과 다른 쪽 테이블의 모든 행을 결합시킨다. A 테이블에 10개의 행, B테이블에 10개의 행이 있다면 총 100개의 행이 출력된다. |
SELF JOIN | 자기 자신과 JOIN |
1
2
3
4
5
6
7
8
9
10
-- INNER JOIN
FROM A INNER JOIN B ON A.col1 = B.col1;
-- OUTER JOIN
FROM A LEFT OUTER JOIN B ON A.col1 = B.col1;
FROM A RIGHT OUTER JOIN B ON A.col1 = B.col1;
FROM A FULL OUTER JOIN B ON A.col1 = B.col1;
-- CROSS JOIN
FROM A CROSS JOIN B
Reference
다중정렬 : https://m.blog.naver.com/kanasii79/140194831758
JOIN : https://hongong.hanbit.co.kr/sql-%EA%B8%B0%EB%B3%B8-%EB%AC%B8%EB%B2%95-joininner-outer-cross-self-join/