[ORACLE]
SELECT 컬럼명
FROM 테이블1, 테이블2
WHERE 테이블1.동일한_컬럼 = 테이블2.동일한_컬럼
[ANSI]
SELECT 컬럼명
FROM 테이블1 JOIN 테이블2 ON 컬럼명 = 컬럼명
-- 컬럼명이 동일한 경우 USING 사용 가능
FROM 테이블1 JOIN 테이블2 USING 컬럼명
두 테이블 간에 동일하지 않은 데이터도 포함하여 조회하는 방법
[ORACLE]
SELECT 컬럼명
FROM 기준_테이블1(A), 연결할_테이블2(B)
WHERE A컬럼 = B컬럼(+)
[ANSI]
SELECT 컬럼명
FROM 기준_테이블1(A) LEFT [OUTER] JOIN 연결할 테이블(B)
USING : 컬럼명 같은 경우
ON : 컬럼명 다른 경우
- RIGHT JOIN
[ORACLE]
SELECT 컬럼명
FROM 기준_테이블1(A), 연결할_테이블2(B)
WHERE A컬럼(+) = B컬럼
[ANSI]
SELECT 컬럼명
FROM 기준_테이블1(A) RIGHT [OUTER] JOIN 연결할 테이블(B)
USING : 컬럼명 같은 경우
ON : 컬럼명 다른 경우
- FULL JOIN
ORACLE 전용 구문에서는 왼쪽 또는 오른쪽 기준으로만 포괄 조인이 가능
FULL OUTER JOIN 불가
[ANSI]
SELECT 컬럼명
FROM 기준_테이블1(A) FULL [OUTER] JOIN 연결할 테이블(B)
USING : 컬럼명 같은 경우
ON : 컬럼명 다른 경우
=
를 사용하지 않는 조인문[ORACLE]
SELECT EMP_NAME, SALARY, SAL_LEVEL
FROM EMPLOYEE, SAL_GRADE
WHERE SALARY BETWEEN MIN_SAL AND MAX_SAL
[ANSI]
JOIN ~ ON 구문만 사용 가능
SELECT EMP_NAME, SALARY, SAL_LEVEL
FROM EMPLOYEE JOIN SAL_GRADE ON (SALARY BETWEEN MIN_SAL AND MAX_SAL)
같은 테이블을 다시 한번 조인하는 경우
SELECT 컬럼명
FROM 테이블(A) a, 테이블(A) b
WHERE a.컬럼명 = b.컬럼명
2 개 이상의 테이블을 연결하는 방식