728x90

합집합(정제된), UNION
UNION은 합집합 연산. 사용할 컬럼의 수와 데이터 형식이 일치해야 하며, 합친 후 '중복 제거'한다.
SELECT * FROM (테이블1)
UNION
SELECT * FROM (테이블2);
합집합(정제하지 않는), UNION ALL
정렬하지 않고 중복 제거 하지않는다. ( 정제하지 않음)
SELECT * FROM (테이블1)
UNION ALL
SELECT * FROM (테이블2);
교집합(정제된), INTERSECT
두 개의 테이블에 대해 겹치는 부분을 추출하는 연산이다. 추출 후 '중복 제거' 하여 보여준다.
SELECT COL1, COL2 FROM A
INTERSECT
SELECT COL1, COL2 FROM B
INTERSECT 명령어는 Oracle DB, Maria DB에서는 지원되지만, MySQL에서는 지원되지 않는데, 이런 경우에는 JOIN을 통해 구현해야 한다.
차집합(정제된), MINUS
두 개의 테이블에서 대상 태이블을 제거 하여 추출하는 연산이다. 추출 후 '중복 제거' 하여 보여준다.
SELECT COL1, COL2 FROM A
MINUS
SELECT COL1, COL2 FROM B
728x90
'개-발 > Database' 카테고리의 다른 글
[QueryDSL] 페이징 최적화 (fetchResult Deprecated) (0) | 2023.01.28 |
---|---|
[Jpa] jpaRepository + Query DSL 둘 다 사용하기 (0) | 2023.01.28 |
[Jpa] flush 란 (2) | 2022.12.26 |
[SQL] with 절 (0) | 2022.11.04 |
[SQL] Subquery 서브쿼리 기초 사용법 (2) | 2022.11.03 |
728x90

합집합(정제된), UNION
UNION은 합집합 연산. 사용할 컬럼의 수와 데이터 형식이 일치해야 하며, 합친 후 '중복 제거'한다.
SELECT * FROM (테이블1)
UNION
SELECT * FROM (테이블2);
합집합(정제하지 않는), UNION ALL
정렬하지 않고 중복 제거 하지않는다. ( 정제하지 않음)
SELECT * FROM (테이블1)
UNION ALL
SELECT * FROM (테이블2);
교집합(정제된), INTERSECT
두 개의 테이블에 대해 겹치는 부분을 추출하는 연산이다. 추출 후 '중복 제거' 하여 보여준다.
SELECT COL1, COL2 FROM A
INTERSECT
SELECT COL1, COL2 FROM B
INTERSECT 명령어는 Oracle DB, Maria DB에서는 지원되지만, MySQL에서는 지원되지 않는데, 이런 경우에는 JOIN을 통해 구현해야 한다.
차집합(정제된), MINUS
두 개의 테이블에서 대상 태이블을 제거 하여 추출하는 연산이다. 추출 후 '중복 제거' 하여 보여준다.
SELECT COL1, COL2 FROM A
MINUS
SELECT COL1, COL2 FROM B
728x90
'개-발 > Database' 카테고리의 다른 글
[QueryDSL] 페이징 최적화 (fetchResult Deprecated) (0) | 2023.01.28 |
---|---|
[Jpa] jpaRepository + Query DSL 둘 다 사용하기 (0) | 2023.01.28 |
[Jpa] flush 란 (2) | 2022.12.26 |
[SQL] with 절 (0) | 2022.11.04 |
[SQL] Subquery 서브쿼리 기초 사용법 (2) | 2022.11.03 |