Mag*_*ter 4 sql postgresql ansi-sql
我有两个带有相同Join和Where子句的SQL语句,但是我有一个问题,就是select语句给了我不同数量的行(在我的情况下为42),因为update语句会改变(在我的情况下是80,这就是所有行的表).
这是第一个(我用它来检查将受影响的行数):
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
Run Code Online (Sandbox Code Playgroud)
这里是第二个(这使得工作,它将更新表类的一个字段):
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 (!)
Run Code Online (Sandbox Code Playgroud)
第一个和第二个语句之间的区别只是第一行,其他一切都是相同的.
有没有人知道在两个语句中获取相同行数的更改是什么?