![](/img/trans.png)
[英]SQL Server Select from table where primary key does not appear as foreign key in another table
[英]SQL Statement Question - How to retrieve records of a table where the primary key does not exist in another table as a foreign key
我有一個表(TableA),其中主鍵作為另一個表(TableB)上的外鍵存在。 我正在嘗試編寫一個SQL查詢(我正在使用SQL Server 2005),該查詢將在TableA中找到所有記錄,其中主鍵在TableB中不作為外鍵存在(我們說是在TableAID上聯接)。 我懷疑它將使用外部聯接,但是我一直在努力。 任何人都可以幫助SQL newb嗎?
SELECT A.*
FROM TableA AS A
LEFT JOIN TableB AS B ON (A.ID = B.TableAID)
WHERE B.TableAID IS NULL
您可以使用NOT EXISTS
SELECT columnlist
FROM TableA
WHERE NOT EXISTS(
SELECT * FROM TableB
WHERE TableB.column = TableA.column)
這是SQL中幾乎自然的語言(“ WHERE NOT EXISTS”)。
SELECT A.*
FROM TableA AS A
WHERE NOT EXISTS ( SELECT 1
FROM TableB
WHERE TableA.ID = B.TableAID
)
Select * from TableA
where
TableA.TableAID not in (select TableB.TableAID from TableB)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.