fullselect 쿼리 예

다음 예에서는 fullselect 쿼리를 설명합니다.

  • 예 1: EMPLOYEE 테이블에서 컬럼과 행을 모두 선택하십시오.
      SELECT * FROM EMPLOYEE
  • 예 2: 부서 번호(WORKDEPT)가 'E'로 시작하는 EMPLOYEE 테이블의 모든 직원 또는 프로젝트 번호(PROJNO)가 'MA2100', 'MA2110' 또는 'MA2112'인 EMP_ACT 테이블의 프로젝트에 지정된 모든 직원의 직원 번호(EMPNO)를 나열하십시오.
      SELECT EMPNO
         FROM EMPLOYEE
         WHERE WORKDEPT LIKE 'E%'
      UNION
      SELECT EMPNO
         FROM EMP_ACT
         WHERE PROJNO IN('MA2100', 'MA2110', 'MA2112')
  • 예 3: 예 2에서와 동일한 쿼리를 수행하고, 추가로 EMPLOYEE 테이블의 행에 'emp' "태그"를 지정하고 EMP_ACT 테이블의 행에 'emp_act' 태그를 지정하십시오. 예 2의 결과와 달리 이 쿼리는 동일한 EMPNO를 두 번 이상 리턴할 수 있으며 연관된 "태그"를 사용하여 출처 테이블을 식별합니다.
      SELECT EMPNO, 'emp'
         FROM EMPLOYEE
         WHERE WORKDEPT LIKE 'E%'
      UNION
      SELECT EMPNO, 'emp_act' FROM EMP_ACT
         WHERE PROJNO IN('MA2100', 'MA2110', 'MA2112')
  • 예 4: 예 2에서와 동일한 쿼리를 수행하고, 중복 행이 제거되도록 UNION ALL만 사용하십시오.
      SELECT EMPNO
          FROM EMPLOYEE
          WHERE WORKDEPT LIKE 'E%'
      UNION ALL
      SELECT EMPNO
         FROM EMP_ACT
         WHERE PROJNO IN('MA2100', 'MA2110', 'MA2112')
  • 예 5: 예 3에서와 동일한 쿼리를 수행하고, 테이블에 현재 없는 두 명의 직원만 추가로 포함시키고 이러한 행에 "new" 태그를 지정하십시오.
      SELECT EMPNO, 'emp'
         FROM EMPLOYEE
         WHEREWORKDEPTLIKE 'E%'
      UNION
      SELECT EMPNO, 'emp_act'
         FROM EMP_ACT
         WHERE PROJNO IN('MA2100', 'MA2110', 'MA2112')
      UNION
         VALUES ('NEWAAA', 'new'), ('NEWBBB', 'new')
  • 예 6: 이 EXCEPT 예는 T1에 있지만 T2에는 없는 모든 행을 생성합니다.
       (SELECT * FROM T1)
       EXCEPT ALL
       (SELECT * FROM T2)
    널(NULL) 값이 포함되지 않은 경우 이 예는 다음과 동일한 결과를 리턴합니다.
       SELECT ALL *
          FROM T1
          WHERE NOT EXISTS (SELECT * FROM T2
                              WHERE T1.C1 = T2.C1 AND T1.C2 = T2.C2 AND...)
  • 예 7: 이 INTERSECT 예는 T1 및 T2 둘 다에 있는 모든 행을 생성하고 중복을 제거합니다.
       (SELECT * FROM T1)
       INTERSECT
       (SELECT * FROM T2)
    널(NULL) 값이 포함되지 않은 경우 이 예는 다음과 동일한 결과를 리턴합니다.
       SELECT DISTINCT * FROM T1
          WHERE EXISTS (SELECT * FROM T2
                        WHERE T1.C1 = T2.C1 AND T1.C2 = T2.C2 AND...)
    여기서 C1, C2 등은 T1 및 T2의 컬럼을 나타냅니다.