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) 값이 포함되지 않은 경우 이 예는 다음과 동일한 결과를 리턴합니다.
여기서 C1, C2 등은 T1 및 T2의 컬럼을 나타냅니다.SELECT DISTINCT * FROM T1 WHERE EXISTS (SELECT * FROM T2 WHERE T1.C1 = T2.C1 AND T1.C2 = T2.C2 AND...)