★ UNION

    UNION 구문은 첫번째 쿼리의 모든 행을 두번째 쿼리의 모든 행과 더하고,

    중복된 행을 제거한 후, 결과를 리턴한다.

   

    다음 예를 보면 첫번째 쿼리에서 EMPLOYEES_ID와 LAST_NAME에서 LAST_NAME 열이 A나 B로

    시작하는 직원 레코드를 얻고, 두번째 쿼리에서는 EMPLOYEES_ID와 LAST_NAME 열에서

    LAST_NAME 이 B나 C로 시작하는 직원 레코드를 얻었다.

 

    쉽게 알 수 있겠지만 B로 시작되는 LAST_NAME 열을 가지는 직원 레코드는 첫번재와 두번째

    쿼리 모두에서 선택되며, 중복되는 행들은 결과셋에서 제외된다.

 

EX>

    select employee_id, last_name

  2   from employees

  3 where last_name like 'A%'

  4     or  last_name like 'B%' 

  5  union

  6 select employee_id, last_name

  7   from employees

  8 where last_name like 'B%'

  9     or  last_name like 'C%'

 10 /

 

★ UNION ALL

    UNION ALL 구문은 UNION 구문과 매우 비슷하지만 중복되는 행을 제외시키지 않는다.

 

EX>

    select employee_id, last_name

  2   from employees

  3 where last_name like 'A%'

  4     or  last_name like 'B%' 

  5  union all

  6 select employee_id, last_name

  7   from employees

  8 where last_name like 'B%'

  9     or  last_name like 'C%'

 10 /

 

   

★ INTERSECT

   intersect 구문은 두 개의 쿼리를 받고 결과를 모은 다음, 두 결과셋에 모두 존재하는

   레코드만을 리턴한다. 첫번째  쿼리나 두번째 쿼리에서만 리턴된 행은 결과셋에 포함되지 않는다.

  

   앞에서와 같은 쿼리에 INTERSECT 구문을 이용하면 LAST_NAME이 B로 시작하는 직원

   레코드만이 리턴될 것임을 예상할 수 있다. 이것은 첫번째 쿼리나 두번째 쿼리에만 포함되는

   행들이 모두 결과셋에서 제거되기 때문이다.

 

EX>

    select employee_id, last_name

  2   from employees

  3 where last_name like 'A%'

  4     or  last_name like 'B%' 

  5  intersect

  6 select employee_id, last_name

  7   from employees

  8 where last_name like 'B%'

  9     or  last_name like 'C%'

 10 /

 

★ MINUS

   MINUS 집합 연산자는 첫번째 쿼리에서만 리턴되며, 두번째 쿼리에서는 리턴되지 않는

   레코드만을 리턴한다. 즉, 첫번째 쿼리에서 LAST_NAME이 A나 B로 시작하는 직원 레코드가

   리턴되고, 두번째 쿼리에서 LAST_NAME이 B나 C로 시작하는 직원 레코드가 리턴된다면,

   이 두 쿼리에 MINUS 연산자를 적용한 뒤에는 LAST_NAME이 A로 시작하는 직원 레코드를

   얻게 된다.

 

EX>

    select employee_id, last_name

  2   from employees

  3 where last_name like 'A%'

  4     or  last_name like 'B%' 

  5  minus

  6 select employee_id, last_name

  7   from employees

  8 where last_name like 'B%'

  9     or  last_name like 'C%'

 10 /


'개발 > ORCLE' 카테고리의 다른 글

오라클 OUTER JOIN  (0) 2008.10.24
오라클 Length, LengthB  (0) 2008.10.24
오라클 INDEX  (0) 2008.10.24
오라클 CASE  (0) 2008.10.24
오라클 반환형 함수  (0) 2008.10.23
블로그 이미지

쭈니후니

개발자로서 공부와 낚시를 좋아하는 한사람으로서의 추억을 담을 블로그입니다.

,