서로 다른 테이블을 세로 방향으로 합치기 위해선 2개의 쿼리문 사이에 연결 명령어를 추가하면 된다.
이때 2가지 조건을 충족해야한다.
1.두 SQL은 서로 컬럼의 개수가 동일할것
2.두 SQL의 컬럼의 타입이 동일할 것
INTERSECT, INTERSECT ALL
# INTERSECT
두 테이블의 교집합. 서로 중복되는 행은 1개로 출력
(
(select * from drink)
union all
(select * from drink)
)
intersect
(
(select * from drink)
union all
(select * from drink)
);
id | name | quantity | shelf_life | volume
----+--------------+----------+------------+--------
3 | 무안단물 | 41 | 35 | 600
1 | 에너지드링크 | 36 | 30 | 300
5 | 더맛 | 3 | 35 | 1000
4 | 순진맥주 | 47 | 60 | 900
2 | 오렌지주스 | 38 | 25 | 1500
(5 rows)
# INTERSECT ALL
두 테이블의 교집합. 중복 여부 체크x
(
(select * from drink)
union all
(select * from drink)
)
intersect all
(
(select * from drink)
union all
(select * from drink)
);
id | name | quantity | shelf_life | volume
----+--------------+----------+------------+--------
3 | 무안단물 | 41 | 35 | 600
3 | 무안단물 | 41 | 35 | 600
1 | 에너지드링크 | 36 | 30 | 300
1 | 에너지드링크 | 36 | 30 | 300
5 | 더맛 | 3 | 35 | 1000
5 | 더맛 | 3 | 35 | 1000
4 | 순진맥주 | 47 | 60 | 900
4 | 순진맥주 | 47 | 60 | 900
2 | 오렌지주스 | 38 | 25 | 1500
2 | 오렌지주스 | 38 | 25 | 1500
(10 rows)
'SQL' 카테고리의 다른 글
SQL 테이블 행연결(EXCEPT, EXCEPT ALL) (0) | 2025.02.05 |
---|---|
SQL 테이블 행연결(UNION, UNION ALL) (0) | 2025.02.05 |
SQL 5장 실습문제 (1) | 2025.01.23 |
SQL 집계함수 (0) | 2025.01.23 |
SQL 명령어 우선순위 (0) | 2025.01.23 |