본문 바로가기

오라클

오라클 집합연산자

-- 집합 연산자


--UNION : 합집합(중복데이터는 한번만 출력)

SELECT name, city, buseo FROM insa WHERE city='서울';

=>서울만 출력

SELECT name, city, buseo FROM insa WHERE buseo='개발부';

UNION

SELECT name, city, buseo FROM insa WHERE city='서울';

=>개발부 데이타 가지고 있으면 출력, 서울 데이타 가지고 있으면 출력(개발부이면서 서울인 데이타는 한번만 출력)


-- UNION ALL: 합집합(중복데이터 다나옴) 

SELECT name, city , buseo FROM insa WHERE buseo='개발부'

UNION ALL

SELECT name, city, buseo FROM insa WHERE city='서울';

=> 개발부 데이타 가지고 있으면 출력, 서울 데이타 가지고 있으면 출력(개발부이면서 서울인 데이타는 중복되서 여러번 출력)

-- 컬럼  개수와 자료형이 같으면 비교하려는 컬럼이 달라도 가능

SELECT name, city , buseo, jikwi FROM insa WHERE buseo='개발부'

UNION ALL

SELECT name, city, buseo, ssn FROM insa WHERE city='서울';


--MINUS : 차집합 

SELECT name, city , buseo FROM insa WHERE buseo='개발부'

MINUS

SELECT name, city, buseo FROM insa WHERE city='서울';

=> 개발부이면서 서울에 살지 않는 사람


--INTERSECT : 교집합 

SELECT name, city , buseo FROM insa WHERE buseo='개발부'

INTERSECT

SELECT name, city, buseo FROM insa WHERE city='서울';

=> 개발부이면서 서울 사람