要尋找一個 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中文網其他相關文章!