becool

SQL 교집합, 차집합, 합집합 본문

SQL

SQL 교집합, 차집합, 합집합

gusalstm 2021. 4. 14. 17:23
반응형

SQL 교집합, 차집합, 합집합

 

(1) A ∩ B (INTERSECT 연산자 사용)
SELECT * FROM member_A 

INTERSECT 

SELECT * FROM member_B

(2) A - B (MINUS 연산자 또는 EXCEPT 연산자 사용)
SELECT * FROM member_A 

MINUS

SELECT * FROM member_B

(3) B - A (MINUS 연산자 또는 EXCEPT 연산자 사용)
SELECT * FROM member_B

MINUS

SELECT * FROM member_A

(4) A U B (UNION 연산자 사용)
SELECT * FROM member_A

UNION

SELECT * FROM member_B

 

 

 

=============================================

 

LEFT OUTER JOIN : 차집합

RIGHT OUTER JOIN : 차집합

INNER JOIN : 교집합

UNION : 합집합

 

1. 차집합

 SELECT 

  o.id AS old_id,

  o.name AS old_name,

  n.id AS new_id,

  n.name AS new_name

 

FROM item AS o LEFT OUTER JOIN item_new

ON o.name = n.name ;

 

2. 교집합

 SELECT

  o.id AS old_id,

  o.name AS old_name,

  n.id AS new_id,

  n.name AS new_name

 

FROM item AS o INNER JOIN item_new

ON o.name = n.name ;

 

3. 합집합

 

SELECT (id, name) from item

UNION

SELECT (id, name) from item_new

 

## distinct 도 자동으로 됨.

id name
1 상품1
2 상품2
3 상품3
4 상품4

 

## distinct 로 인한 정보 누락 시에는 UNION ALL사용

 UNION ALL은 UNION처럼 두 테이블의 합집합을 보여준다는 점은 같습니다. 하지만 겹치는 것을 중복 제거하지 않고, 겹치는 것들을 그대로 둘다 보여준다는 차이점이 있죠.

728x90

'SQL' 카테고리의 다른 글

20210618 (금) DB  (0) 2021.06.18
그룹 함수 간단  (0) 2021.04.21
sql 예제  (0) 2021.04.14
Comments