UNION과 UNION ALL의 차이점을 설명하기 위해, 아래와 같은 두 개의 테이블을 가정해봅시다.
테이블 A:
Name
----
John
Anna
Tom
테이블 B:
Name
----
Anna
Tom
Peter
이제 UNION과 UNION ALL을 사용하여 두 테이블을 결합하겠습니다.
UNION 사용
UNION을 사용하면 두 테이블의 결과를 결합하고 중복된 레코드를 제거합니다. 따라서 결과는 다음과 같습니다.SELECT Name FROM A UNION SELECT Name FROM B;
결과:
Name ---- John Anna Tom Peter
여기서 볼 수 있듯이, 'Anna'와 'Tom'은 두 테이블에 모두 존재하지만, UNION을 사용하였기 때문에 결과에서는 한 번만 나타납니다.
UNION ALL 사용
반면에 UNION ALL을 사용하면 중복된 레코드를 제거하지 않습니다. 따라서 결과는 다음과 같습니다.SELECT Name FROM A UNION ALL SELECT Name FROM B;
결과:
Name ---- John Anna Tom Anna Tom Peter
UNION ALL을 사용하였기 때문에, 'Anna'와 'Tom'이 두 번 나타나는 것을 볼 수 있습니다.
이렇게, UNION과 UNION ALL은 두 SELECT 문의 결과를 결합하는 방식에 있어 중요한 차이를 보입니다. UNION은 중복된 레코드를 제거하여 고유한 결과를 반환하는 반면, UNION ALL은 모든 결과를 반환하며 중복을 허용합니다.
728x90
반응형
'MySQL' 카테고리의 다른 글
TIMESTAMPDIFF() 사용하기 (0) | 2024.04.07 |
---|---|
날짜 관련 함수 정리 (0) | 2024.04.04 |
LIKE 연산자 (0) | 2024.03.05 |
[SQL] JOIN 정리 (0) | 2024.01.10 |
[MySQL] 문법 정리 (0) | 2023.12.18 |