본문 바로가기

Database

집합

UNION 합집합

SELEC   employee_id,  first_name,   salary

FROM    employees

WHERE   first_name LIKE  'J%n';

UNION 

SELECT employee_id, first_name, salary

FROM employees

WHERE   salary  BETWEEN   3000  AND   3500;

 

 

 

UNION ALL 합집합 (중복제거 안 한 ver.)

SELECT   employee_id,   first_name,   salary 

FROM   employee

WHERE   first_name LIKE 'J%n';

UNION ALL

SELECT   employee_id,   first_name,   salary

FROM   employees

WHERE   salary   BETWEEN   3000   AND   3500;

 

 

 

 

INTERSECT 교집합

(SELECT문이 너무 길고 복잡해서 AND로  합치기 어려울 때 INTERSECT를 이용) 

SELECT   first_name,   salary 

FROM    employee

WHERE   first_name   LIKE   'J%n';

INTERSECT

SELECT   first_name,   salary 

FROM   employees

WHERE   salary   BETWEEN   3000   AND   3500;

 

 

 

MINUS 차집합

SELECT   department_id   FROM  employees   WHERE   department_id    IN   (10, 20, 30, 40)

MINUS 

SELECT   department_id   FROM   employees   WHERE   department_id  = 30;