如何在两个 MySQL 表之间查找缺失值?

mysqlmysqli database更新于 2025/10/21 16:44:17

要查找两个 MySQL 表之间的缺失值,请使用 NOT IN。让我们首先创建一个表 −

mysql> create table DemoTable1(Value int);
Query OK, 0 rows affected (0.56 sec)

使用 insert 命令在表中插入一些记录 −

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)

使用 insert 命令在表中插入一些记录 −

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)

相关文章


有用资源