MySQL 如何在两个表之间找到缺失值
要在两个MySQL表之间找到缺失值,可以使用NOT IN。让我们首先创建一个表 –
mysql> create table DemoTable1(Value int);
Query OK, 0 rows affected (0.56 sec)
使用插入命令在表中插入一些记录 –
mysql> insert into DemoTable1 values(1);
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable1 values(2);
Query OK, 1 row affected (0.28 sec)
mysql> insert into DemoTable1 values(5);
Query OK, 1 row affected (0.23 sec)
mysql> insert into DemoTable1 values(6);
Query OK, 1 row affected (0.09 sec)
mysql> insert into DemoTable1 values(8);
Query OK, 1 row affected (0.16 sec)
使用select语句显示表中的所有记录 –
mysql> select *from DemoTable1;
这将产生以下输出 –
+-------+
| Value |
+-------+
| 1 |
| 2 |
| 5 |
| 6 |
| 8 |
+-------+
5 rows in set (0.00 sec)
以下是创建第二个表的查询 –
mysql> create table DemoTable2(Value int);
Query OK, 0 rows affected (1.19 sec)
使用插入命令在表中插入一些记录 –
mysql> insert into DemoTable2 values(1);
Query OK, 1 row affected (0.11 sec)
mysql> insert into DemoTable2 values(2);
Query OK, 1 row affected (0.17 sec)
mysql> insert into DemoTable2 values(3);
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable2 values(4);
Query OK, 1 row affected (0.12 sec)
使用select语句显示表中的所有记录 –
mysql> select *from DemoTable2;
这将产生以下输出 –
+-------+
| Value |
+-------+
| 1 |
| 2 |
| 3 |
| 4 |
+-------+
4 rows in set (0.00 sec)
以下是在两个MySQL表之间查找缺失值的查询 –
mysql> select Value from DemoTable1 where Value not in(select Value from DemoTable2);
这将产生以下输出 –
+-------+
| Value |
+-------+
| 5 |
| 6 |
| 8 |
+-------+
3 rows in set (0.07 sec)
阅读更多:MySQL 教程
极客教程