검색결과 리스트
글
oracle (+)을 left outer join on 으로 바꾸기
아래의 두개의 쿼리는 동일한 쿼리인다.
(+)를 left outer join on 으로 변경시킨 sql이다.
SELECT SV.STD_NO, SV.KOR_NM, SV.SUST, SV.DEPT_KOR_NM, SV.SHYR, SV.SHREG_CD, PG.PROGRAM, PC.PDCHECK
, NVL(MB.YEAR, (CASE WHEN SUBSTR(SV.STD_NO, 0, 4) > 8000 THEN TO_NUMBER(1900+SUBSTR(SV.STD_NO, 0, 2)) ELSE TO_NUMBER(SUBSTR(SV.STD_NO, 0, 4)) END)) AS BASEYEAR
FROM ABK_PROGRAMGROUP PG
, ABEEK_STUINFO_VIEW SV
, ABK_ABEEKPDCHECK PC
, ABK_MIDBASIS MB
WHERE 1=1
AND SV.ABEEK_FG = 'Y'
AND SV.SHREG_CD IN ('1','2')
AND PG.HAKKWACD = SV.SUST
AND SV.STD_NO = PC.HAKBUN(+)
AND SV.STD_NO = MB.HAKBUN(+)
ORDER BY SV.STD_NO DESC, SV.KOR_NM DESC
SELECT SV.STD_NO, SV.KOR_NM, SV.SUST, SV.DEPT_KOR_NM, SV.SHYR, SV.SHREG_CD, SV.PROGRAM, PC.PDCHECK
, NVL(MB.YEAR, (CASE WHEN SUBSTR(SV.STD_NO, 0, 4) > 8000 THEN TO_NUMBER(1900+SUBSTR(SV.STD_NO, 0, 2)) ELSE TO_NUMBER(SUBSTR(SV.STD_NO, 0, 4)) END)) AS BASEYEAR
FROM
(SELECT S.STD_NO, S.KOR_NM, S.SUST, S.DEPT_KOR_NM, S.SHYR, S.SHREG_CD, PG.PROGRAM
FROM ABEEK_STUINFO_VIEW S, ABK_PROGRAMGROUP PG
WHERE S.ABEEK_FG = 'Y'
AND S.SHREG_CD IN ('1','2')
AND S.SUST = PG.HAKKWACD
)SV
LEFT OUTER JOIN
(SELECT HAKBUN, PDCHECK
FROM ABK_ABEEKPDCHECK
)PC
ON SV.STD_NO = PC.HAKBUN
LEFT OUTER JOIN
(SELECT HAKBUN, YEAR
FROM ABK_MIDBASIS
)MB
ON SV.STD_NO = MB.HAKBUN
ORDER BY SV.STD_NO DESC, SV.KOR_NM DESC
RECENT COMMENT