본문 바로가기
스터디/Oracle

[Oracle] ANSI SQL 조인

by 홍장 2021. 4. 18.

NATURAL JOIN - 두 테이블에 동일한 칼럼명이 있을경우 자동 조인함
SELECT E.ename, D.dname, e.deptno FROM emp E, dept D
WHERE E.deptno = D.deptno;
-- deptno 의 칼럼이 양테이블에 있기때문에, 정확한 테이블 별명을 넣어야 한다. 
SELECT E.ename, D.dname, deptno 
FROM emp E NATURAL JOIN dept D;

--deptno는 두 테이블에 중복이므로, 별명이 생략되어야 함

T1 JOIN T2 USING (칼럼명, ..., 칼럼명N) - 비교 칼럼이 여러개 인 경우 USING에 선언 
SELECT E.ename, D.dname, deptno 
FROM emp E JOIN dept D USING (deptno);

SELECT E.ename, D.dname, deptno 
FROM emp E JOIN dept D USING (deptno)
WHERE E.ename LIKE '%A%';

ANSI SQL의 경우 조건은 JOIN USING 다음에 WHERE 절 사용

 

T1 JOIN T2 ON( 조건) 모든 조건 표현 
SELECT E.ename, E.sal, S.grade
FROM emp E JOIN salgrade S
ON (sal BETWEEN S.losal AND S.hisal);