이 포스트를 만든 목적
- 심심해서
이 포스트의 준비물
- gVim 7.2
- Postgresql 8.4.2
- pgAdmin 1.10.1
참조 링크
내용
SQL UNION 은 무엇인가?
- SQL 연산자이다.
- 두개 이상의 SELECT 결과를 합칠 때 사용 한다.
- 결과들을 합칠 때, 중복 제거를 할 수 있고, 중복을 포함 할 수 있다.
SQL UNION 문법은 어떻게 되는가?
SQL UNION 을 사용 할 때 주의 해야 하는게 있는가?
- 여러 SELECT 결과 칼럼(열)들은 모두 동일한 갯수를 가지고 있어야 한다.
- 위 샘플에서 order_num 칼럼 1개만 쓰면, 모둔 SELECT 문은 칼럼 1개만 써야 한다.
- 여러 SELECT 결과 칼럼(열)들은 다른 SELECT 결과 칼럼(열)들과 동일한 데이터 형이거나 호환 되어야 한다.
- 위 샘플에서 order_num 칼럼의 데이터 타입이 char 이라면, 다른 SELECT 문 결과 역시 char와 같거나 호환 되어야 한다.
SQL UNION 을 어떻게 이해 하는게 좋은가?
- 종이와 연필을 준비한다.
- 여러 SELECT 문의 결과를 각각 그린다.
- UNION 일 경우, 테이블 T를 준비한다.
- 각 SELECT->row 들을 테이블 T와 똑같은게 있는지 검사한다.
- 똑같은게 있을 경우, T에 기입하지 않는다.
똑같은게 없을 경우, T에 기입한다.
- 4 ~ 5번 작업을 다 할 때까지 반복한다.
- 여기서 나온 T가 UNION 의 결과이다.
- UNION ALL 일 경우, 각각 그린 SELECT->row들을 테이블 A에 기입한다.
- 모든 SELECT->row들을 A에 다 기입했다면, 이 테이블 A가 UNION ALL 값들인 것이다.
맛보기 그림
orderitems table
orders table
SELECT UNION
UNION 해석
- 직접 UNION 을 해보기 전까진 잘 모른다.
'연구실 > SQL' 카테고리의 다른 글
SQL NOT NULL Constraint - 테이블의 NOT NULL 제약 (0) | 2010.09.01 |
---|---|
SQL Constraints - 테이블 제약의 종류 (0) | 2010.08.19 |
SQL CREATE TABLE - TABLE 생성하기 (0) | 2010.08.10 |
SQL CREATE DATABASE - DB 생성하기 (0) | 2010.08.10 |
SQL SELECT INTO - SELECT 결과 복사하기, 테이블 복사하기 (0) | 2010.08.08 |
SQL FULL JOIN - SQL 전체 외부 조인 사용하기 (0) | 2010.07.25 |
SQL RIGHT JOIN or RIGHT OUTER JOIN - SQL에서 오른쪽으로 외부 결합 사용하기 (0) | 2010.07.23 |
SQL LEFT JOIN or OUTER LEFT JOIN - SQL 외부 결합 사용하기 (1) | 2010.07.17 |
SQL INNER JOIN - SQL 에서 가장 많이 사용 되는 조인, 일반적인 조인 사용하기 (3) | 2010.07.17 |
SQL JOIN - SQL 테이블 연결하기 (0) | 2010.07.16 |
최근댓글