본문 바로가기

SQL

LEFT OUTER JOIN을 이용한 컬럼 합치기(?)

SELECT 

*    

FROM

(

SELECT '10:00' AS DT, 'A' AS GUBUN FROM DUAL

UNION ALL

SELECT '11:00' AS DT, 'A' AS GUBUN FROM DUAL

UNION ALL

SELECT '14:00' AS DT, 'A' AS GUBUN FROM DUAL

UNION ALL

SELECT '15:00' AS DT, 'A' AS GUBUN FROM DUAL

UNION ALL

SELECT '16:00' AS DT, 'A' AS GUBUN FROM DUAL

) A

LEFT OUTER JOIN

(

SELECT 'B' AS gubun2, 'C' AS gubun3 FROM dual

) B

ON 1=1


결과

DT | GUBUN | GUBUN2 | GUBUN3 

10:00 A B C

11:00 A B C

14:00 A B C

15:00 A B C

16:00 A B C


이런식으로 쿼리를 만들 수 있는데... 

이걸 사용할 일이 있을까 싶기도 하다.

서브쿼리 이용하는 거랑 다를 바가 없는데...?

B쿼리가 ROW 두개 이상이 되면 카디널 곱(아마 맞을듯;;)이 되어 원하는대로 데이터가 안나올 것이다.

흠.. 그래도 일단 알고 있자.