프로그래밍/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보다는 성능이 느리지만 필요한 경우 더 정확한 데이터를 출력해준다.
반응형