尋找一個 MySQL 表中不存在於另一個表中的記錄?

WBOY
發布: 2023-09-09 17:37:07
轉載
1283 人瀏覽過

查找一个 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 from
PresentHistory);
登入後複製

The output of the above query is as 如下-

+--------+----------+
| PastId | PastName |
+--------+----------+
| 3      | Carol    |
| 4      | Jason    |
+--------+----------+
2 rows in set (0.00 sec)
登入後複製

從上面的輸出可以清楚看出,我們發現了兩條不存在於 第一個表。

以上是尋找一個 MySQL 表中不存在於另一個表中的記錄?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:tutorialspoint.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!