FE PARADISE

[SQL] UNION vs UNION ALL 본문

데이터베이스

[SQL] UNION vs UNION ALL

PARADISE247 2025. 3. 23. 20:56
반응형

UNION 과 UNION ALL은 여러 SELECT의 결과를 합칠 때 사용한다. 이 둘의 차이점과 예시를 살펴보자.

UNION

SELECT 결과를 하나로 합치며 중복된 행을 제거한다. 

자동 정렬이 적용되어 정렬을 위한 추가 비용이 든다. (ORDER BY

✳️ 사용 예시

SELECT EmployeeID AS ID FROM Employees
UNION 
SELECT CategoryID AS ID FROM Categories;

➡ Employees와 Categories 테이블에서 EmployeeID, CategoryID를 ID라는 이름으로 가져와 중복을 제거하고 합친다. 

 

UNION ALL

SELECT 결과로 하나로 합치지만 UNION과 달리 중복을 제거하지 않는다. 

정렬을 하지 않기 때문에 UNION에 비해 성능이 좋다. 

✳️ 사용 예시

SELECT EmployeeID AS ID FROM Employees
UNION ALL
SELECT CategoryID AS ID FROM Categories;

➡ Employees와 Categories 테이블에서 EmployeeID, CategoryID를 ID라는 이름으로 가져와 중복을 제거하지 않고 합친다. 

성능이 중요한 경우엔  UNION ALL을 중복 제거가 필요한 경우엔 UNION을 사용하면 된다.

반응형

'데이터베이스' 카테고리의 다른 글

[MySQL] 새 Schema 정의하기  (0) 2025.02.14