코딩 이야기/MS SQL
MSSQL UNION 사용 방법
안개소리
2025. 3. 31. 09:53
UNION 종류 및 정렬 방법
UNION
설명 : 두 개 이상의 SELECT 문의 결과 집합을 결합하고 중복 행을 제거합니다.
예제 :
-- 부서별 사원 목록과 직책별 사원 목록을 결합 (중복 제거)
SELECT employee_id, first_name, last_name, department_id
FROM employees
WHERE department_id IS NOT NULL
UNION
SELECT employee_id, first_name, last_name, NULL AS department_id
FROM employees
WHERE job_id = 'IT_PROG';
UNION ALL
설명 : 두 개 이상의 SELECT 문의 결과 집합을 결합하지만 중복 행을 제거하지 않습니다.
예제 :
-- 부서별 사원 목록과 직책별 사원 목록을 결합 (중복 포함)
SELECT employee_id, first_name, last_name, department_id
FROM employees
WHERE department_id IS NOT NULL
UNION ALL
SELECT employee_id, first_name, last_name, NULL AS department_id
FROM employees
WHERE job_id = 'IT_PROG';
정렬 방법 (ORDER BY)
설명 : UNION 또는 UNION ALL 결과 집합을 특정 열을 기준으로 정렬합니다.
정렬은 최종 결과에 적용됩니다.
예제 :
-- 결합된 결과 집합을 last_name 기준으로 오름차순 정렬
SELECT employee_id, first_name, last_name, department_id
FROM employees
WHERE department_id IS NOT NULL
UNION
SELECT employee_id, first_name, last_name, NULL AS department_id
FROM employees
WHERE job_id = 'IT_PROG'
ORDER BY last_name;
-- 결합된 결과 집합을 department_id 기준으로 내림차순 정렬
SELECT employee_id, first_name, last_name, department_id
FROM employees
WHERE department_id IS NOT NULL
UNION ALL
SELECT employee_id, first_name, last_name, NULL AS department_id
FROM employees
WHERE job_id = 'IT_PROG'
ORDER BY department_id DESC;