我有兩個具有相同Join和Where子句的SQL語句,但我遇到了select語句給我不同數量的行(in我的情況42),因爲更新語句將改變(在我的情況下,80,這是表中的所有行)。使用具有相同參數的select或update時受影響的行數不同 - PostgreSQL
這裏是第一個(我用這個來檢查多少行會受到影響):
SELECT COUNT(*)
FROM classes AS c
INNER JOIN programs AS p
ON c.Pr_ID = p.Pr_ID AND p.Ma_ID = 8;
--> returns: 32
和這裏的第二個(這使得工作時,將更新的表類的一個字段) :
UPDATE classes SET Cl_Status = 3
FROM classes AS c
INNER JOIN programs AS p
ON c.Pr_ID = p.Pr_ID AND p.Ma_ID = 8;
--> returns: 80 (!)
第一條和第二條語句之間的區別只是第一條,其他條件都是一樣的。
有誰知道在兩個語句中獲取相同數量的行會發生什麼變化?