SQL 表中不匹配的行:選擇不相交的資料
在資料庫管理中,經常需要從一張表中檢索記錄不存在於另一個。這稱為選擇不匹配的行。考慮這樣的場景:您有兩個表 Table1 和 Table2,每個表都包含帶有 FirstName、LastName 和 BirthDate 欄位的記錄。
問題: 辨識並顯示Table1 中不存在的行表2.
解:
子查詢可以建構為根據Table2 中不存在符合行的特定列從Table1 中選擇行。
修改後的查詢:
SELECT * FROM Table1 WHERE FirstName NOT IN (SELECT FirstName FROM Table2)
在此修改後的查詢中,我們指定FirstName 欄位進行比較,因為它是兩個表中行的唯一標識符。 NOT IN 子句確保僅選擇 Table1 中具有 Table2 中不存在的 FirstName 值的行。
此查詢將傳回 Table1 中不存在於 Table2 中的所有行,從而提供唯一記錄的清單。它應該產生輸出:
+-----------+----------+------------+ | FirstName | LastName | BirthDate | +-----------+----------+------------+ | Yamila | Diaz | 1972-03-04 | +-----------+----------+------------+
此解決方案利用子查詢邏輯來執行比較並有效地選擇兩個表之間不相交的記錄。
以上是如何選擇兩個SQL表之間不符的行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!