使用 Join 刪除
聯接也可以在 DELETE 語句中使用。給出如下架構:
CREATE TABLE Users (
UserId int NOT NULL,
AccountId int NOT NULL,
RealName nvarchar(200) NOT NULL
)
CREATE TABLE Preferences (
UserId int NOT NULL,
SomeSetting bit NOT NULL
)
我們可以從 Preferences 表中刪除行,按 Users 表中的謂詞進行過濾,如下所示:
DELETE p
FROM Users u
INNER JOIN Preferences p ON u.UserId = p.UserId
WHERE u.AccountId = 1234
這裡 p 是語句的 FROM 子句中定義的 Preferences 的別名,我們只刪除 Users 表中匹配 AccountId 的行。