kakasoo

[Postgresql] UNION 본문

프로그래밍/SQL

[Postgresql] UNION

카카수(kakasoo) 2022. 12. 22. 23:04
반응형

Postgresql에서 UNION ALL 문은 여러 개의 SELECT 쿼리를 하나의 결과 집합으로 바꾸는 역할을 한다.

만약 이게 불가능하다면 각각의 쿼리문을 작성한 다음, 매번 돌아가면서 호출을 해야 하는데,

이렇게 될 경우 데이터를 한 눈에 파악하기 어렵다.

따라서 아래와 같이 작성할 수 있다.

SELECT column1, column2, ...
FROM table1
WHERE condition

UNION ALL

SELECT column1, column2, ...
FROM table2
WHERE condition

추가적으로 호출해서 데이터를 보고 싶은 게 있다면 UNION ALL 이후 SELECT 문을 작성하면 된다.

중복을 제거한 UNION

SELECT column1, column2, ...
FROM table1
WHERE condition

UNION

SELECT column1, column2, ...
FROM table2
WHERE condition

위 쿼리와 아래 쿼리의 쿼리가 같은 경우, 결국 같은 ROW를 출력하는 쿼리일 뿐이다.

이런 경우에는 둘 중 하나의 결과 값만 작성하고 싶을 수도 있다.

따라서 이 경우에는 UNION ALL 대신 ALL을 지운 UNION으로 대체할 수 있다.

UNION 은 중복을 제거한 쿼리로, UNION보다는 성능이 느리지만 필요한 경우 더 정확한 데이터를 출력해준다.

반응형