Course(Cno, Cname, Tno) — 課程表,Tno 為教師編號外鍵Teacher(Tno, Tname) — 教師表UPDATE Teacher
SET Tname = '張三'
WHERE Tno = (
SELECT DISTINCT Tno
FROM Course
WHERE Cno = '002'
);
-- MySQL
UPDATE Teacher t
JOIN Course c ON t.Tno = c.Tno
SET t.Tname = '張三'
WHERE c.Cno = '002';
-- SQL Server
UPDATE t
SET t.Tname = '張三'
FROM Teacher t
JOIN Course c ON t.Tno = c.Tno
WHERE c.Cno = '002';
-- Oracle (MERGE 或 關聯子查詢)
UPDATE Teacher t
SET t.Tname = '張三'
WHERE EXISTS (
SELECT 1 FROM Course c WHERE c.Tno = t.Tno AND c.Cno = '002'
);
SELECT * FROM Teacher WHERE Tno = (SELECT Tno FROM Course WHERE Cno='002') 確認目標記錄。掌握多表 UPDATE 寫法,是後端開發與數據治理的基本功。