JOIN 유형
JOIN 조건절
INNER JOIN
<aside> 🪒 SELECT * FROM 테이블1 INNER JOIN 테이블2 ON 조건절
</aside>
NATURAL JOIN
<aside> 🎧 SELECT * FROM 테이블1 NATURAL JOIN 테이블2;
</aside>
ON 조건절
<aside> 🃏 SELECT * FROM 테이블1 JOIN 테이블2 ON 조건절;
</aside>
WHERE 절과 ON 조건절 혼용 예시 SELECT A.ENAME, A.DEPTNO, B.DEPTNO, B.DNAME FROM EMP A JOIN DEPT B ON (A.DEPTNO = B.DEPTNO) WHERE A.DEPTNO = 30;
USING 조건절
<aside> ⛱️ SELECT * FROM 테이블1 JOIN 테이블2 USING 공통칼럼명;
</aside>
CROSS JOIN
테이블 간 JOIN 조건이 없는 경우 생길 수 있는 모든 데이터의 조합
한쪽 테이블의 모든 행과 다른 쪽 테이블의 모든 행을 조인시키는 기능
→ A 테이블(3개 행) / B 테이블(3개 행) 두 개를 CROSS JOIN 하면 9개의 행을 가진 결과가 나옴 = 경우의 수 곱?
<aside> 🪄 SELECT * FROM 테이블1 CROSS JOIN 테이블2
</aside>
다중 테이블 JOIN
<aside> ✏️ SELECT * FROM 테이블1, 테이블2, 테이블3 … WHERE 조건절; SELECT * FROM 테이블1 JOIN 테이블2 ON 조건절 JOIN 테이블3 ON 조건절…. ;
</aside>
OUTER JOIN
LEFT OUTER JOIN
<aside> 🌅 SELECT * FROM 테이블1 LEFT OUTER JOIN 테이블2 ON 조건절; SELECT * FROM 테이블1 JOIN 테이블2 ON 테이블1.컬럼명 = 테이블2.컬럼명(+); → ON 조건절에서 오른쪽에 + 붙여서 LEFT OUTER 생략 가능
</aside>
RIGHT OUTER JOIN
<aside> 🌗 SELECT * FROM 테이블1 RIGHT OUTER JOIN 테이블2 ON 조건절; SELECT * FROM 테이블1 JOIN 테이블2 ON 테이블1.컬럼명(+) = 테이블2.컬럼명; → ON 조건절에서 왼쪽에 + 붙여서 RIGHT OUTER 생략 가능
</aside>