이 게시글은 패스트캠퍼스의 '데이터베이스와 SQLD 합격패스 Online' 강의를 요약한 내용입니다.
종류 | 설명 |
---|---|
UNION | 여러 SQL문의 결과에 대한 합집합 중복된 행은 한개의 행으로 출력 데이터를 정렬하여 출력한다. |
UNION ALL | 여러 SQL문의 결과에 대한 합집합 중복된 행을 그대로 결과로 표시 |
INTERSECT | 여러 SQL문의 결과에 대한 교집합 중복된 행은 한개의 행으로 출력 |
EXCEPT | 위의 SQL문의 집합에서 아래의 SQL문의 집합을 뺀 결과를 표시한다. |
SELECT A.EMP_NO, A.EMP_NM, A.BIRTH_DE
FROM TB_EMP A
WHERE A.BIRTH_DE BETWEEN '19600101' AND '19691231'
UNION
SELECT A.EMP_NO, A.EMP_NM, A.BIRTH_DE
FROM TB_EMP A
WHERE A.BIRTH_DE BETWEEN '19700101' AND '197901231'
;
SELECT A.EMP_NO, A.EMP_NM, A.BIRTH_DE
FROM TB_EMP A
WHERE A.BIRTH_DE BETWEEN '19600101' AND '19691231'
UNION ALL
SELECT A.EMP_NO, A.EMP_NM, A.BIRTH_DE
FROM TB_EMP A
WHERE A.BIRTH_DE BETWEEN '19700101' AND '197901231'
;
SELECT A.EMP_NM, A.BIRTH_DE
FROM TB_EMP A
WHERE A.BIRTH_DE BETWEEN '19600101' AND '19691231'
UNION ALL
SELECT A.EMP_NM, A.BIRTH_DE
FROM TB_EMP A
WHERE A.BIRTH_DE BETWEEN '19700101' AND '197901231'
;
SELECT A.EMP_NM, A.BIRTH_DE
FROM TB_EMP A
WHERE A.BIRTH_DE BETWEEN '19600101' AND '19691231'
UNION
SELECT A.EMP_NM, A.BIRTH_DE
FROM TB_EMP A
WHERE A.BIRTH_DE BETWEEN '19700101' AND '197901231'
;
SELECT A.EMP_NO, A.EMP_NM, A.ADDR, B.CERTI_CD, C.CERTI_NM
FROM TB_EMP A , TB_EMP_CERTI B, TB_CERTI C
WHERE A.EMP_NO = B.EMP_NO
AND B.CERTI_CD = C.CERTI_CD
AND C.CERTI_NM = 'SQLD'
INTERSECT
SELECT A.EMP_NO, A.EMP_NM, A.ADDR, B.CERTI_CD, C.CERTI_NM
FROM TB_EMP A , TB_EMP_CERTI B, TB_CERTI C
WHERE A.EMP_NO = B.EMP_NO
AND B.CERTI_CD = C.CERTI_CD
AND A.ADDR LIKE '%용인%';
SELECT A.EMP_NO, A.EMP_NM, A.ADDR, B.CERTI_CD, C.CERTI_NM
FROM TB_EMP A , TB_EMP_CERTI B, TB_CERTI C
WHERE A.EMP_NO = B.EMP_NO
AND B.CERTI_CD = C.CERTI_CD
AND C.CERTI_NM = 'SQLD'
AND EXISTS ( SELECT 1
FROM TB_EMP K
WHERE K.EMP_NO = A.EMP_NO
AND K.ADDR LIKE '%용인%')
;
SELECT A.EMP_NO, A.EMP_NM, A.ADDR, B.CERTI_CD, C.CERTI_NM
FROM TB_EMP A , TB_EMP_CERTI B, TB_CERTI C
WHERE A.EMP_NO = B.EMP_NO
AND B.CERTI_CD = C.CERTI_CD
AND C.CERTI_NM = 'SQLD'
AND A.ADDR LIKE '%용인%';
SELECT A.EMP_NO, A.EMP_NM, A.SEX_CD, A.DEPT_CD FROM TB_EMP A
MINUS
SELECT A.EMP_NO, A.EMP_NM, A.SEX_CD, A.DEPT_CD FROM TB_EMP A
WHERE A.DEPT_CD = '100001'
MINUS
SELECT A.EMP_NO, A.EMP_NM, A.SEX_CD, A.DEPT_CD FROM TB_EMP A
WHERE A.DEPT_CD = '100002'
MINUS
SELECT A.EMP_NO, A.EMP_NM, A.SEX_CD, A.DEPT_CD FROM TB_EMP A
WHERE A.DEPT_CD = '100003'
MINUS
SELECT A.EMP_NO, A.EMP_NM, A.SEX_CD, A.DEPT_CD FROM TB_EMP A
WHERE A.SEX_CD = '1'
;
위 SQL문
![]()
제외 후