跨表辨識不符行
在資料庫管理中,透過外鍵約束來確保資料完整性至關重要。但是,如果沒有這樣的約束,就會出現資料不一致的情況。本查詢旨在識別一個表中缺少另一個表中對應條目的行,這是資料清理中的一個基本步驟。
解決方案在於使用 LEFT JOIN 操作。在此查詢中:
<code class="language-sql">SELECT t1.ID FROM Table1 t1 LEFT JOIN Table2 t2 ON t1.ID = t2.ID WHERE t2.ID IS NULL;</code>
1. 左連接 (LEFT JOIN):
LEFT JOIN 將 Table1 的行與 Table2 中相符的行連接。但是,它確保 Table1 中的所有行都包含在結果中,即使它們在 Table2 中沒有相符的行。
2. 辨識不符:
WHERE 子句使用條件 "t2.ID IS NULL"。對於 Table1 中不符合的行,此條件計算結果為“true”,其中連線行中對應的 "t2.ID" 列為 null。
因此,該查詢有效地識別 Table1 中缺少 Table2 中對應條目的行,為資料完整性管理和外鍵約束的實作提供了重要的見解。
以上是如何在沒有外鍵約束的情況下找到兩個表之間不匹配的行?的詳細內容。更多資訊請關注PHP中文網其他相關文章!