본문 바로가기
Database/MySQL

UNION, UNION ALL

by 서초록 2021. 5. 9.

집합 연산자 조건

집합연산자 사용하기위한 조건 : SELECT절의 컬럼 수 동일, SELECT절의 동일위치에 존재하는 컬럼의 데이터 타입 동일

 

집합연산자 종류

UNION 개별 SQL문의 결과에 대해 합집합 연산을 수행. 단, 결과에서 모든 중복된 행은 하나의 행으로 만든다.
UNION ALL 개별 SQL문의 결과에 대해 합집합 연산을 수행. 중복된 행도 그대로 표시. 즉, 단순히 개별 SQL문의 결과를 합쳐 하나의 결과로 출력. 중복되지않을 경우 UNION과 결과 동일.
INTERSECT 개별 SQL문의 결과에 대해 교집합 연산을 수행. 단, 결과에서 모든 중복된 행은 하나의 행으로 만든다.
EXCEPT 개별 SQL문의 결과에 대해 차집합 연산을 수행. 단, 결과에서 모든 중복된 행은 하나의 행으로 만든다. (Oracle : MINUS, SQL Server : EXECEPT 사용)

 

SELECT와의 차이점..?

MINUS, INTERSECT은 Mysql에서 지원하지않음

 

MySql에서는 FULL OUTER JOIN을 지원하지않기때문에 LEFT JOIN에 UNION RIGHT JOIN하면됨

 

 

 

'Database > MySQL' 카테고리의 다른 글

ORDER BY  (0) 2021.05.13
SELECT  (0) 2021.05.13
JOIN  (0) 2021.05.09
CASE문  (0) 2021.05.09
GROUP BY, HAVING절  (0) 2021.04.28