티스토리 뷰
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 문장
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 | 테스트5 | test5 |
6 | 테스트6 | test6 |
7 | 테스트7 | test7 |
◈ 설명
TEST 테이블 ONE 하고 TWO 에서 테스트1,2,3은 IDX,NAME,ID 모두 중복이 됨
그래서 중복된 내용을 빠지고 위와 같이 7개의 로우가 추출됨
※ UNION 이나 UNION ALL 을 할 경우에는 반드시 데이터 타입,순서,개수가 맞아야 함
4. UNION ALL - 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 | 테스트5 | test5 |
6 | 테스트6 | test6 |
7 | 테스트7 | test7 |
◈ 설명
UNION ALL 을 사용할 경우에는 모든 데이터를 표현하기 때문에 중복된 데이터가 위와 같이 표시가 됩니다
'[개발]프로그래밍 > sql' 카테고리의 다른 글
[oracle] MINUS - 특정 테이블 속한 데이터 표시(차집합) (0) | 2016.10.12 |
---|---|
[oracle] INTERSECT - 공통된 데이터를 표시(교집합) (0) | 2016.10.12 |
[oracle] ROLLUP,CUBE - GROUP BY에 사용되는 합계 정보 (0) | 2016.10.10 |
[oracle] HAVING 절 - GROUP BY에서 사용되는 집계함수 조건 (2) | 2016.10.10 |
[oracle] GROUP BY - 그룹핑을 활용한 데이터 추출 (0) | 2016.10.06 |
- Total
- Today
- Yesterday