[sql] UNION 연산자를 사용한 데이터베이스 리포팅 방법
데이터베이스를 사용하여 리포팅을 수행할 때, 때로는 여러 테이블이나 쿼리의 결과를 결합해야 할 수 있습니다. SQL에서 UNION 연산자는 이러한 작업을 수행하는 데 유용한 도구입니다. 이 포스트에서는 UNION 연산자를 사용하여 데이터베이스 리포팅을 위한 SQL 쿼리 작성 방법을 살펴보겠습니다.
UNION 연산자란?
UNION 연산자는 두 개 이상의 SELECT 문의 결과를 하나의 결과 집합으로 결합하는 데 사용됩니다. 각 SELECT 문의 열 수와 데이터 형식이 동일해야 하며, 중복된 행은 제거됩니다.
쿼리 작성 예시
다음은 employee
테이블과 contractor
테이블에서 직원과 계약직 직원에 대한 정보를 모두 가져와서 하나의 결과로 합치는 SQL 쿼리의 예시입니다.
SELECT employee_id, employee_name, department
FROM employee
UNION
SELECT contractor_id, contractor_name, department
FROM contractor;
위 쿼리는 먼저 employee
테이블에서 직원의 정보를 선택하고, 그 다음 contractor
테이블에서 계약직 직원의 정보를 선택합니다. 그 후 두 결과를 하나로 합쳐서 중복된 행을 제거한 후 리턴합니다.
주의사항
- UNION 연산자를 사용할 때, 각 SELECT 문의 열 수와 데이터 형식이 일치해야 합니다.
- UNION ALL 연산자는 중복된 행을 제거하지 않고 모든 결과를 포함합니다.
마무리
UNION 연산자를 사용하여 데이터베이스 리포팅을 수행하는 방법에 대해 알아보았습니다. 다른 JOIN 연산과 마찬가지로, 데이터베이스 리포팅 시에 여러 데이터 소스를 효과적으로 결합하기 위한 강력한 도구로 사용할 수 있습니다.
더 많은 정보를 찾고 싶다면, Oracle 공식 문서를 참고하세요.