[sql] UNION 연산자를 사용한 쿼리 결과 결합
SQL에서 UNION 연산자는 두 개 이상의 SELECT 문의 결과를 결합하는 데 사용됩니다. 이를 통해 중복되지 않는 레코드만을 반환하는 결합 결과를 얻을 수 있습니다.
기본 문법
SELECT column1, column2, ...
FROM table1
WHERE condition
UNION
SELECT column1, column2, ...
FROM table2
WHERE condition;
위의 구문에서 각 SELECT 문은 동일한 수의 열(column1
, column2
, 등)을 반환해야 합니다. 각 SELECT 문은 동일한 데이터 유형이고 순서도 일치해야 합니다.
예제
다음은 employees
테이블과 customers
테이블에서 이름과 이메일 주소를 검색하여 결합한 예제입니다.
SELECT name, email
FROM employees
WHERE department = 'Sales'
UNION
SELECT name, email
FROM customers
WHERE status = 'Active';
위의 예제는 직원 테이블과 고객 테이블에서 검색한 결과를 결합하여 중복을 제거한 후 반환합니다.
주의사항
- UNION 연산자는 기본적으로 중복 레코드를 제거합니다. 중복 레코드를 포함하려면 UNION ALL을 사용해야 합니다.
- 각 SELECT 문의 열 수, 데이터 유형, 순서를 일치시켜야 합니다.
참고 문헌:
- https://www.w3schools.com/sql/sql_union.asp