广告
返回顶部
首页 > 资讯 > 数据库 >查找一个 MySQL 表中不存在于另一个表中的记录?
  • 275
分享到

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

2023-10-22 10:10:10 275人浏览 八月长安
摘要

要查找一个 Mysql 表中不存在于另一个表中的记录,我们可以使用 对没有记录的表进行子查询。使用以下可以更好地理解这一点 给定步骤 -首先使用 create 命令创建一个表。表名称是“PresentHistory”,它有 两列。给出如下

要查找一个 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 from
PresentHistory);

The output of the above query is as 如下 -

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

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

您可能感兴趣的文档:

--结束END--

本文标题: 查找一个 MySQL 表中不存在于另一个表中的记录?

本文链接: https://www.lsjlt.com/news/437541.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作