티스토리 뷰

1. UNION , UNION ALL - 역할

두 개 이상의 테이블에서 조합된 데이터를 표현하고자 할 때


UNION - DISTINCT 역할을 수행하여 중복된 데이터는 하나만 표시


UNION ALL - ALL에서 알수 있듯이 중복된 데이터도 모두 표시


2. UNION , UNION ALL - 기본 테이블

◈ TEST_TABLE_ONE


 IDX

NAME

ID

 1

테스트1

test1

 2

테스트2

test2

 3

테스트3

test3

 4

테스트4

test4

 5

테스트5

test5




◈ TEST_TABLE_TWO


 IDX

NAME

ID

 1

테스트1

test1

 2

테스트2

test2

 3

테스트3

test3

 6

테스트6

test6

 7

테스트7

test7


3. UNION - SQL 문장

◈ SQL

1
2
3
4
5
6
7
8
9
SELECT IDX
         ,NAME
       ,ID
        FROM TEST_TABLE_ONE
UNION            
SELECT IDX
      ,NAME
       ,ID 
     FROM TEST_TABLE_TWO





◈ 결과 테이블


 IDX

 NAME

ID

 1

테스트1

test1

 2

테스트2

test2

 3

테스트3

test3

 4

테스트4

test4

  

테스트5

test5

  

테스트6

test6

 7

테스트7

test7




◈ 설명


TEST 테이블 ONE 하고 TWO 에서 테스트1,2,3은 IDX,NAME,ID 모두 중복이 됨


그래서 중복된 내용을 빠지고 위와 같이 7개의 로우가 추출됨


※ UNION 이나 UNION ALL 을 할 경우에는 반드시 데이터 타입,순서,개수가 맞아야 함




4. UNION ALL - SQL 문장

◈ SQL

1
2
3
4
5
6
7
8
9
SELECT IDX
         ,NAME
       ,ID
        FROM TEST_TABLE_ONE
UNION ALL            
SELECT IDX
      ,NAME
       ,ID 
     FROM TEST_TABLE_TWO




◈ 결과 테이블


 IDX

 NAME

ID

 1

테스트1

test1

 1

 테스트1 

test1

 2

테스트2

test2

 2

 테스트2 

test2

 3

테스트3

test3

 3

 테스트3 

test3

 4

테스트4

test4

  

테스트5

test5

  

테스트6

test6

 7

테스트7

test7




◈ 설명


UNION ALL 을 사용할 경우에는 모든 데이터를 표현하기 때문에 중복된 데이터가 위와 같이 표시가 됩니다




댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday