比較 SQL 表以找出資料差異
確保兩個 SQL Server 表之間的資料一致性需要標識每個表唯一的行。 這突出了差異和缺失的數據。 以下是如何使用 SQL 查詢來完成此操作:
一種方法使用 EXCEPT
運算子:
(SELECT * FROM table1 EXCEPT SELECT * FROM table2)
此查詢顯示 table1
中存在但 table2
中不存在的行。要找 table2
特有的行,只需交換表名稱:
(SELECT * FROM table2 EXCEPT SELECT * FROM table1)
要取得兩個表中所有唯一行的組合視圖,請使用 UNION ALL
:
<code class="language-sql">(SELECT * FROM table1 EXCEPT SELECT * FROM table2) UNION ALL (SELECT * FROM table2 EXCEPT SELECT * FROM table1)</code>
如果您的表缺少 NULL 值,更有效的方法是使用 NOT EXISTS
。此範例檢索 table1
中未在 table2
:
<code class="language-sql">SELECT * FROM table1 WHERE NOT EXISTS ( SELECT * FROM table2 WHERE table2.column1 = table1.column1 )</code>
請記得將 table1
、table2
和 column1
替換為您實際的表格和欄位名稱。 選擇最適合您的數據和需求的方法。
以上是如何辨識兩個 SQL 表之間的差異?的詳細內容。更多資訊請關注PHP中文網其他相關文章!