728x90
두 개의 테이블에 공통된 정보를 수집하고 싶을 경우

위와 같은 테이블이 존재한다고 하자.
- UNION : A에 속하거나 B에 속하는 경우를 모두 검색한다. (중복 제거)
예제) salary가 105이거나 year가 2014 이상인 행을 모두 검색
SELECT id
FROM salarytable
WHERE salary >= 105
UNION
SELECT id
FROM salarytable
WHERE year >= 2014;
- UNION ALL : UNION과 동일하지만 중복을 허용한다.
SELECT id
FROM salarytable
WHERE salary >= 105
UNION ALL
SELECT id
FROM salarytable
WHERE year >= 2014;
- INTERSECT : 두 테이블에 모두 속할경우만 검색한다. (교집합)
SELECT id
FROM salarytable
WHERE salary >= 105
INTERSECT
SELECT id
FROM salarytable
WHERE year >= 2014;
- EXPECT : A 테이블에서 B 테이블을 제외한 부분만 검색한다. (차집합)
SELECT id
FROM salarytable
WHERE salary >= 105
EXCEPT
SELECT id
FROM salarytable
WHERE year >= 2014;
728x90
'Database' 카테고리의 다른 글
TRANSACTION (0) | 2023.05.11 |
---|---|
JOIN (0) | 2023.05.11 |
INDEX (0) | 2023.05.11 |
정규화 (0) | 2023.05.10 |
CREATE, DROP, ALTER (0) | 2023.05.10 |