8.2 INTERSECT 模拟
1. SQL INTERSECT操作符简介
(SELECT column_list
FROM table_1)
INTERSECT
(SELECT column_list
FROM table_2);
2. MySQL INTERSECT模拟
Last updated
(SELECT column_list
FROM table_1)
INTERSECT
(SELECT column_list
FROM table_2);
Last updated
USE testdb;
DROP TABLE IF exists t1;
DROP TABLE IF exists t2;
CREATE TABLE t1 (
id INT PRIMARY KEY
);
CREATE TABLE t2 LIKE t1;
INSERT INTO t1(id) VALUES(1),(2),(3);
INSERT INTO t2(id) VALUES(2),(3),(4);mysql> SELECT id FROM t1;
+----+
| id |
+----+
| 1 |
| 2 |
| 3 |
+----+
3 rows in setmysql> SELECT id FROM t2;
+----+
| id |
+----+
| 2 |
| 3 |
| 4 |
+----+
3 rows in setSELECT DISTINCT
id
FROM t1
INNER JOIN t2 USING(id);+----+
| id |
+----+
| 2 |
| 3 |
+----+
2 rows in setSELECT DISTINCT
id
FROM
t1
WHERE
id IN (SELECT
id
FROM
t2);+----+
| id |
+----+
| 2 |
| 3 |
+----+
2 rows in set