[DB] SET Operator
2024. 4. 14. 22:00ㆍBE/DB
1. SET Operator
Operator | 설명 | 중복 |
UNION | 합집합 | 제거 |
UNION ALL | 합집합 | 유지 |
INTERSECT | 교집합 | 없음 |
MINUS | 차집합 | 없음 |
mysql은 UNION
, UNION ALL
연산자는 제공한다.
단, MINUS
, INTERSECT
연산자는 지원하지 않는다.
그래서 동일한 기능을 다른 방식으로 구현해야 한다.
2. INTERSECT 극복
select col_1
from table_1
intersect
select col_2
from table_2;
동일한 기능을 mysql에서는 inner join
으로 극복해야 한다.
select col_1
from table_1 t1 inner join table_2 t2
on t1.col_1 = t2.col_2;
3. MINUS 극복
select col_1
from table_1
minus
select col_2
from table_2;
동일한 기능을 mysql에서는 not in
, not exists
, left outer join
으로 극복해야 한다.
not in
select col_1
from table_1
where not in (
select col_2
from table_2
);
not exists
select col_1
from table_1 t1
where not exists (
select col_2
from table_2 t2
where t1.col_1 = t1.col_2
);
left outer join
select col_1
from table_1 t1
left join table_2 t2
on t1.col_1 = t2.col_2
where t2.col_2 is null;
'BE > DB' 카테고리의 다른 글
[DB] INDEX (1) | 2024.04.15 |
---|---|
[DB] Transaction (1) | 2024.04.14 |
[DB] 내장함수 (0) | 2024.04.14 |
[DB] NULL, CASE, ESCAPE (0) | 2024.04.14 |
[SQL] SQL 예시 정리 (0) | 2023.08.29 |