안녕하세요.
오늘은 SQL별 교집합과 차집합에 대한 차이를 예시를 통해 알아보겠습니다.
MySQL vs Oracle 교집합 & 차집합 차이
▣ 예시 데이터
- table1
+----+---------+-------+
| id | name | score |
+----+---------+-------+
| 1 | Alice | 95 |
| 2 | Bob | 82 |
| 3 | Charlie | 78 |
| 4 | David | 91 |
+----+---------+-------+
- table2
+----+--------+-------+
| id | name | score |
+----+--------+-------+
| 2 | Bob | 82 |
| 3 | Alice | 75 |
| 5 | Edward | 87 |
+----+--------+-------+
: 교집합 (Intersection)
- MySQL
SELECT * FROM table1
INNER JOIN table2 ON table1.id = table2.id
- Oracle
SELECT * FROM table1
INTERSECT
SELECT * FROM table2;
+----+------+-------+
| id | name | score |
+----+------+-------+
| 2 | Bob | 82 |
+----+------+-------+
: 차집합 (Difference)
- MySQL
SELECT * FROM table1
WHERE NOT EXISTS (
SELECT * FROM table2
WHERE table1.id = table2.id
)
- Oracle
SELECT * FROM table1
MINUS
SELECT * FROM table2;
+----+---------+-------+
| id | name | score |
+----+---------+-------+
| 1 | Alice | 95 |
| 4 | David | 91 |
+----+---------+-------+
반응형
'Programming > SQL' 카테고리의 다른 글
[SQL] VIEW 쿼리 내용 확인하기 (4) | 2023.06.29 |
---|---|
[SQL] NTILE 사용법 및 예제 (0) | 2023.06.28 |
[MySQL] 3개 이상 테이블 LEFT JOIN (6) | 2023.02.12 |
[MySQL] 기간 조회하기 (between) (0) | 2023.02.05 |
[MySQL] count 조건 및 방법 (예시) (0) | 2023.01.24 |
댓글