查找一个 MySQL 表中不存在于另一个表中的记录?

查找一个 mysql 表中不存在于另一个表中的记录?

要查找一个 MySQL 表中不存在于另一个表中的记录,我们可以使用对没有记录的表进行子查询。使用以下可以更好地理解这一点给定步骤 –

首先使用 create 命令创建一个表。表名称是“PresentHistory”,它有两列。给出如下 –

mysql> CREATE table PresentHistory-> (-> HisID int,-> HisName varchar(100)-> );Query OK, 0 rows affected (0.54 sec)

创建表后,将插入一些记录,这些记录将出现在第二个表中:出色地。这是在插入命令的帮助下完成的,如下所示 –

mysql> INSERT into PresentHistory values(1,'John');Query OK, 1 row affected (0.13 sec)mysql> INSERT into PresentHistory values(2,'Bob');Query OK, 1 row affected (0.15 sec)

插入记录成功后,用select语句显示如下 –

mysql> SELECT * from PresentHistory;

执行上述查询后,得到的输出为。

+-------+---------+| HisID | HisName |+-------+---------+| 1     | John    || 2     | Bob     |+-------+---------+2 rows in set (0.00 sec)

现在,使用 create 命令创建第二个表。该表名为“PastHistory”并包含两列,如下所示。

mysql> CREATE table PastHistory-> (-> PastId int,-> PastName varchar(100)-> );Query OK, 0 rows affected (0.74 sec)

创建表后,第一个表中存在一些记录,而第一个表中存在一些记录第一个表中不存在的内容将插入 PastHistory 表中。

mysql> INSERT into PastHistory values(1,'John');Query OK, 1 row affected (0.13 sec)mysql> INSERT into PastHistory values(2,'Bob');Query OK, 1 row affected (0.13 sec)mysql> INSERT into PastHistory values(3,'Carol');Query OK, 1 row affected (0.17 sec)mysql> INSERT into PastHistory values(4,'Jason');Query OK, 1 row affected (0.16 sec)

现在,第二个表中有 4 条记录。其中,2 条记录来自第一个表,第二个表中有 2 条记录不同。

通过 select 语句可以看到第二个表中的记录如下 –

mysql> SELECT * from PastHistory;

上述查询的输出是

+--------+----------+| PastId | PastName |+--------+----------+| 1      | John     || 2      | Bob      || 3      | Carol    || 4      | Jason    |+--------+----------+4 rows in set (0.00 sec)

检查一个表中第二个表中不存在的记录的语法如下如下 –

SELECT * from yourSecondTableName where columnNamefromSecondtable NOT IN(SELECT columnNamefromfirsttable from yourFirstTableName);

给定的查询用于获取第二个表中不同的记录 –

mysql> SELECT * from PastHistory where PastName not in (select HisName fromPresentHistory);

The output of the above query is as 如下 –

+--------+----------+| PastId | PastName |+--------+----------+| 3      | Carol    || 4      | Jason    |+--------+----------+2 rows in set (0.00 sec)

从上面的输出可以清楚地看出,我们发现了两条不存在于第一个表。

以上就是查找一个 MySQL 表中不存在于另一个表中的记录?的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/107239.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月22日 13:42:40
下一篇 2025年11月22日 13:55:55

相关推荐

发表回复

登录后才能评论
关注微信