1
liprais 2023-08-28 22:21:38 +08:00 via iPhone
执行计划看了么
第二个 in 里面的 e 去掉就一样了 |
2
dw2693734d 2023-08-28 22:26:30 +08:00
两个 SQL 查询之间的主要区别在于子查询中的 SELECT 语句:
第一个查询:SELECT departmentId ,max(salary) FROM Employee GROUP BY departmentId; 第二个查询:SELECT e.departmentId ,max(e.salary) FROM Employee GROUP BY e.departmentId; 实际上,从逻辑上看,这两个子查询是等价的。它们都是从 Employee 表中选择 departmentId 和该部门中的最高工资( max(salary)),并按 departmentId 进行分组。 因此,如果两个查询返回的结果不同,那可能是由于其他因素引起的,比如数据的不同或数据库引擎的特定行为。但根据这两个 SQL 语句本身,它们应该返回相同的结果。 |
3
c6h6benzene 2023-08-29 04:03:09 +08:00
是结果不同,还是结果的顺序不同?你两个 except 一下看看能不能找出区别。
|