Ms-Access
從另一個表中排除表的數據
是否可以創建查詢並詢問以下內容?我有兩個表(每個表都有一個包含數據的列),我想獲得第一個表中的所有數據減去第二個表中的數據。
在標準 SQL 中,您可以很容易地做到這一點,除了:
SELECT Column1 FROM Table1 EXCEPT SELECT Column2 FROM Table2;
但是,MS Access 不支持 EXCEPT。相反,您可以使用anti-join。有多種方法可以實現反連接。一種是使用 EXISTS 謂詞:
SELECT Column1 FROM Table1 AS t1 WHERE NOT EXISTS ( SELECT * FROM Table2 AS t2 WHERE t1.Column1 = t2.Column2 );
與 Access 一起使用的另一種解決方法是
LEFT JOIN
在排除表中的 ID 變數的條件上使用IS NULL
SELECT IDvar FROM Table1 LEFT JOIN Table2 ON Table1.IDvar = Table2.IDvar WHERE Table2.IDvar IS NULL;