UNION, UNION ALL
oracle
2010. 5. 27. 23:06
서로다른 쿼리를 병합하는 쿼리를 만들때 사용한다.
이걸 어떻게 쿼리를 짜낼까하다가 이렇게 좋은게 있었는데 알고나니 간단하고 편하구나라고 생각했다.
수학의 합집합이라고 생각하면 될듯..
대신 두쿼리의 컬럼명 수는 서로 일치시켜야 한다. 순서에따라 데이터형식도..
SELECT a, b, cnt FROM TABLE1
UNION
SELECT a,b FROM TABLE2
이렇게 하면 에러가 뜰거다.
모자란쪽 컬럼을 맞춰주기위해서 기본값을 넣어준다.
숫자라면 0이라든지 문자라면 ''안에 빈값이나 문자열을 넣으면
그걸로 쿼리된다.
SELECT a, b, cnt FROM TABLE1
UNION
SELECT a,b, 0 FROM TABLE2
이런식으로..
UNION은 중복을 제거하여 보여주고
UNION ALL은 말그대로 합집합.. 중복까지 다 보여준다.
연산은 당연히 과정이 적은 UNION ALL이 빠르겠지..
'oracle' 카테고리의 다른 글
Oracle Index (0) | 2013.01.10 |
---|---|
최대한 Index를 타게 하자. (0) | 2010.10.14 |