[1번]EMPLOYEES 테이블의 job_id와 JOB_HISTORY 테이블의 job_id를 합쳐 고유한 직무 목록을 출력하시오. (중복 제거, job_id 오름차순)
결과 예시
💡 키포인트
UNION은 중복을 제거한 합집합. ORDER BY는 복합 쿼리 맨 끝에 한 번만 사용.
[2번]EMPLOYEES의 job_id와 JOB_HISTORY의 job_id를 합쳐 중복 포함 전체 목록을 출력하시오. (job_id 오름차순)
결과 예시
💡 키포인트
UNION ALL은 중복을 제거하지 않는다. employees 107행 + job_history 10행 = 117행.
[3번]EMPLOYEES 테이블의 department_id와 DEPARTMENTS 테이블의 department_id를 UNION으로 합쳐 고유 부서 번호 목록을 출력하시오. (department_id 오름차순)
결과 예시
💡 키포인트
EMPLOYEES의 NULL department_id를 IS NOT NULL로 제외. UNION이 중복 자동 제거.
[4번]EMPLOYEES 테이블에서 부서 20, 30, 40에 근무하는 사원의 last_name, department_id를 각각 조회하여 UNION ALL로 합치시오. (중복 포함 전체 출력, department_id 오름차순)
결과 예시
💡 키포인트
세 개의 SELECT를 UNION ALL로 연결. ORDER BY는 마지막에 한 번만.
[5번]집합 A(job_id='SA_REP'인 사원의 employee_id, last_name, salary)와 집합 B(job_id='IT_PROG'인 사원의 employee_id, last_name, salary)를 UNION으로 결합하시오. (salary 내림차순)
결과 예시
💡 키포인트
UNION은 동일한 테이블의 서로 다른 조건으로도 사용 가능. salary DESC 정렬.
[6번]현재와 과거의 직무-부서 조합을 고유하게 출력하시오. (EMPLOYEES: employee_id, job_id, department_id / JOB_HISTORY: employee_id, job_id, department_id, employee_id 오름차순)
결과 예시
💡 키포인트
UNION이 두 테이블의 (employee_id, job_id, department_id) 조합의 중복을 제거.