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/