DB- 오라클 OLD JOIN
-
오라클 만의 쿼리, 오라클이 과거에 사용했었던 조인문장에 대해서 알아보겠다.
- ANSI INNER JOIN
SELECT N.ID , N.TITLE, M.NAME FROM MEMBER M INNER JOIN NOTICE N ON M.ID = N.WRITER_ID WHERE M.ID= 'newlec';
- Oracle INNER JOIN
SELECT N.ID, N.TITLE, M.NAME FROM MEMBER M, NOTICE N WHERE M.ID=N.WRTER_ID AND M.ID = 'newlec';
-> WHERE 절을 사용한다. 보기가 불편하고 깔끔하지못하다.
- ANSI OUTER JOIN
SELEC N.*, M.NAME WRITER_NAME FROM NOTICE N LEFT OUTER JOIN MEMBER M ON M.ID = N.WRITER_ID
- Oracle OUTER JOIN
SELECT N.*, M.NAME WRITER_NAME FROM NOTICE N, MEMBER M WHERE N.WRITER_ID = M.ID(+)
-> 거꾸로 되있어서 주의해서 써야된다.
- ANSI CROSS JOIN
SELECT N.*, M.NAME WRITER_NAME FROM MEMBER M CROSS JOIN NOTICE N
- Oracle CROSS JOIN
SELECT N.*, M.NAME WRITER_NAME FROM NOTICE N, MEMBER M;
댓글남기기