다른 명령
카테시안 프로덕트 튜닝 기법
- 튜닝전
SELECT 'AAA' GBN , EMP_ID,EMP_NAME FROM EMP WHERE DEPT_NO = 10 UNION ALL SELECT 'BBB' GBN , EMP_ID,EMP_NAME FROM EMP WHERE DEPT_NO IN ( 10 , 20 )
- 카테시안 프로덕트로 변경
SELECT CASE WHEN RCNT =2 THEN 'BBB' ELSE 'AAA' END GBN , EMP_ID,EMP_NAME FROM EMP , (SELECT ROWNUM RCNT FROM DUAL CONNECT BY LEVEL <= 2) -- 카테시안 WHERE DEPT_NO IN ( 10 , 20 ) AND RCNT <= CASE WHEN A.DEPT_NO = 10 THEN 2 ELSE 1 END -- 분기 조건 GROUP BY EMP_ID,EMP_NAME , CASE WHEN RCNT = 2 THEN 'BBB' ELSE 'AAA' END