使用 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
的行。