使用另一個表中的資料進行更新
以下示例為任何員工填寫 PhoneNumber
,該員工也是 Customer
,目前沒有在 Employees
表中設定的電話號碼。
(這些示例使用示例資料庫中的 Employees 和 Customers 表。)
標準 SQL
使用相關子查詢更新:
UPDATE
Employees
SET PhoneNumber =
(SELECT
c.PhoneNumber
FROM
Customers c
WHERE
c.FName = Employees.FName
AND c.LName = Employees.LName)
WHERE Employees.PhoneNumber IS NULL
SQL:2003
使用 MERGE
更新:
MERGE INTO
Employees e
USING
Customers c
ON
e.FName = c.Fname
AND e.LName = c.LName
AND e.PhoneNumber IS NULL
WHEN MATCHED THEN
UPDATE
SET PhoneNumber = c.PhoneNumber
SQL Server
使用 INNER JOIN
更新:
UPDATE
Employees
SET
PhoneNumber = c.PhoneNumber
FROM
Employees e
INNER JOIN Customers c
ON e.FName = c.FName
AND e.LName = c.LName
WHERE
PhoneNumber IS NULL