SQL - DML - UNION 의 용법

SQL 은 여러 개의 조 회 를 실행 하고 결 과 를 하나의 조회 결과 집합 으로 되 돌려 줍 니 다. 이 조합 조 회 는 보통 합 (UNION) 이 됩 니 다.
두 가지 기본 적 인 상황 이 있 는데 그 중에서 조합 조 회 를 사용 해 야 한다.
  • 단일 조회 에서 서로 다른 표 에서 구조 데이터
  • 를 되 돌려 줍 니 다.
  • 하나의 표 에 대해 여러 개의 조 회 를 실시 하고 하나의 조회 에 따라 데 이 터 를 되 돌려 준다
  • .
    대부분의 경우 같은 표를 조합 한 두 개의 조회 가 완 료 된 작업 은 여러 개의 WHERE 자구 조건 을 가 진 조회 가 완 료 된 작업 과 같다.다시 말 하면,
    여러 개의 WHERE 자 구 를 가 진 SELECT 문 구 는 하나의 조합 조회 로 제공 할 수 있다.
    위의 예:
    Illinois, Indiana, Michigan 에 있 는 모든 고객 의 보고서 가 필요 하 며, 어느 주 에 있 든 모든 Fun4All 단 위 를 포함 하고 싶 습 니 다.
    SELECT cust_name,cust_contact,cust_email
    FROM Customers
    WHERE cust_state IN('IL','IN','MI')
    UNION
    SELECT cust_name,cust_contact,cust_email
    FROM Customers
    WHERE cust_name = 'Fun4All';

    이 간단 한 예 에서 UNION 을 사용 하 는 것 은 WHERE 를 사용 하 는 것 보다 더 복잡 할 수 있 지만, 복잡 한 조건 이나 여러 표 에서 데 이 터 를 검색 하 는 경우 UNION 을 사용 하 는 것 이 더 간단 할 수 있다.
    UNION 의 몇 가지 규칙 사용 하기:
  • UNION 은 반드시 두 개 또는 두 개 이상 의 SELECT 문구 로 구성 되 어야 하 며, 문 구 는 키워드 UNION 으로 구분 되 어야 한다.
  • UNION 의 모든 조 회 는 같은 열, 표현 식 또는 집합 함 수 를 포함해 야 합 니 다.
  • 열 데 이 터 는 호 환 되 어야 합 니 다.

  • 중복 되 는 줄 포함 또는 취소: UNION 과 UNION ALL
    UNION 은 검색 결과 에서 중 복 된 줄 을 자동 으로 제거 하고, 모든 줄 로 돌아 가 려 면 UNION ALL 대신 UNION ALL 을 사용 합 니 다.
    조합 조회 결과 정렬:
    UNION 조합 으로 조회 할 때 하나의 ORDER BY 문구 만 사용 할 수 있 습 니 다. 마지막 SELECT 문구 뒤에 나타 나 야 합 니 다. 결과 집합 에 대해 한 가지 방식 으로 한 부분 을 정렬 하고 다른 방식 으로 다른 부분 을 정렬 하 는 경 우 는 존재 하지 않 기 때문에 여러 개의 ORDER BY 문 구 를 사용 할 수 없습니다.
    예:
    SELECT cust_name,cust_contact,cust_email
    FROM Customers
    WHERE cust_state IN('IL','IN','MI')
    UNION
    SELECT cust_name,cust_contact,cuts_email
    FROM Customers
    WHERE cust_name = 'Fun4All'
    ORDER BY cust_name,cust_contact;

    좋은 웹페이지 즐겨찾기