본문 바로가기

데이터 베이스

[MySQL] '조인 연산자'와 '집합 연산자'의 차이

728x90

조인 연산자는 " 두 개 이상의 테이블을 연결하여 데이터를 검색하는 방법 " 이다.

쉽게 말해서 아예 두 테이블을 '가로로' 연결한 뒤에 연산을 처리한다.

그래서 ''이 늘어난다.

 

대표적인 종류는 다음과 같다.

 

(INNER)  JOIN   :   <교집합>  두 테이블 모두에 공통된 행만 가져옴.

LEFT  (OUTER)  JOIN   :   왼쪽 테이블 행은 모두 가져오고, 오른쪽은 공통된 것만 가져옴. 나머지는 null값.
RIGTH  (OUTER)  JOIN   :   오른쪽 테이블 행은 모두 가져오고, 왼쪽은 공통된 것만 가져옴. 나머지는 null값.

FULL  (OUTER)  JOIN   :   <합집합>  각 테이블의 모든 행을 가져옴. 일치하지 않는 내용은 null값.

 

출처:&nbsp;https://www.w3schools.com/sql/sql_join.asp

 


 

집합 연산자는 " 2개 이상의 질의 결과를 하나의 결과로 만들어 주는 방법 " 이다.

이미 연산된 두 개의 결과를 '세로로' 연결하는 것이다.

그래서 ''이 늘어난다.

 

대표적인 종류는 다음과 같다.

 

UNION   :   <합집합>  연산된 결과 중, 중복 행을 제거한 쿼리 결과를 반환.

UNION ALL   :   연산된 결과 중, 중복 행을 포함한 모든 쿼리 결과를 반환.

 

 

MySQL 에서는 INTERSECT (교집합)과 MINUS (차집합) 연산이 없다.

따라서 JOIN 연산자와 UNION 연산자를 이용해서 교집합과 차집합 연산을 이끌어내야 한다.