ANSI JOIN
-- 오라클 조인
SELECT E.EMPNO, E.ENAME, E.DEPTNO, D.DNAME
FROM EMP E, DEPT D
WHERE E.DEPTNO = D.DEPTNO;
-- ANSI 조인
SELECT E.EMPNO, E.ENAME, E.DEPTNO, D.DNAME
FROM EMP E JOIN DEPT D --콤마를 JOIN으로
ON E.DEPTNO = D.DEPTNO; --WHERE를 ON으로( WHERE가 있으나 조인할때는 ON을 쓴다)
ANSI JOIN에서도 WHERE 사용 가능
-- ANSI 조인
SELECT E.EMPNO, E.ENAME, E.DEPTNO, D.DNAME
FROM EMP E JOIN DEPT D
ON E.DEPTNO = D.DEPTNO AND D.DEPTNO = 10; --AND 사용가능
SELECT E.EMPNO, E.ENAME, E.DEPTNO, D.DNAME
FROM EMP E JOIN DEPT D
ON E.DEPTNO = D.DEPTNO
WHERE D.DEPTNO = 10; --ANSI 조인에도 ON 아래에 WHERE를 쓸 수 있다
오라클과 ANSI의 OUTER JOIN
-- 오라클 조인
SELECT *
FROM BOARD B, REPLY R
WHERE B.ID = R.BOARDID;
-- ANSI 조인
SELECT *
FROM BOARD B LEFT OUTER JOIN REPLY R
ON B.ID = R.BOARDID;
FULL OUTER JOIN
FULL OUTER JOIN은 오라클에서는 되지 않고 ANSI 를 써야한다
--오라클 조인
SELECT *
FROM BOARD B, REPLY R
WHERE B.ID(+) = R.BOARDID(+);
--ANSI 조인
SELECT *
FROM BOARD B FULL OUTER JOIN REPLY R
ON B.ID = R.BOARDID;
.
'Database > OracleSQL' 카테고리의 다른 글
오라클 DML, INSERT, SELECT, UPDATE, DELETE (0) | 2020.04.02 |
---|---|
오라클 VIEW (0) | 2020.04.02 |
200401 카티션 곱, ANSI 조인, MYSQL 라이센스, EQUI Join, 데이터베이스는 CLASS 타입이 없다, 외래키 기본키 (0) | 2020.04.01 |
오라클 조인, INNER JOIN, OUTER JOIN (0) | 2020.04.01 |
오라클 ROWNUM, RANK, DENSE_RANK, ROW_NUMBER, PARTITION (0) | 2020.04.01 |