본문 바로가기

SQL

IINNER JOIN, LEFT OUTER JOIN, RIGHT OUTER JOIN

요즘 너무 글을 안올려서 간만에 포스팅합니다.

쌩뚱맞지만 갑자기 생각나서.. 급히 짜본 쿼리;;;

어려운 내용은 아니지만 기본기를 다진다는 차원에서 ^^


SELECT

    T1.PK AS T1_PK,

    T2.PK AS T2_PK,

    T1.COL1,

    T2.COL2

FROM

(

  SELECT

  *

  FROM

  (

  SELECT '1' AS PK, 'A' AS COL1 FROM DUAL

  UNION ALL

  SELECT '2' AS PK, 'B' AS COL1 FROM DUAL

  UNION ALL

  SELECT '3' AS PK, 'C' AS COL1 FROM DUAL

  UNION ALL

  SELECT '5' AS PK, 'E' AS COL1 FROM DUAL

  ) 

) T1 

INNER JOIN 

-- LEFT OUTER JOIN

-- RIGHT OUTER JOIN 

(

  SELECT

  *

  FROM

  (

  SELECT '1' AS PK, 'A' AS COL2 FROM DUAL

  UNION ALL

  SELECT '2' AS PK, 'B' AS COL2 FROM DUAL

  UNION ALL

  SELECT '3' AS PK, 'C' AS COL2 FROM DUAL

  UNION ALL

  SELECT '4' AS PK, 'D' AS COL2 FROM DUAL

  ) 

) T2

ON T1.PK = T2.PK


결과


INNER JOIN

T1_PK|T2_PK|COL1|COL2

1 1 A A

2 2 B B

3 3 C C


LEFT OUTER JOIN

T1_PK|T2_PK|COL1|COL2

1 1 A A

2 2 B B

3 3 C C

5 E


RIGHT OUTER JOIN

T1_PK|T2_PK|COL1|COL2

1 1 A A

2 2 B B

3 3 C C

4 D


끝.

'SQL' 카테고리의 다른 글