来自Lynda.com的SQL查询
问题描述:
我对两个查询有疑问。这两个查询会给出相同的结果吗?我试图通过部门找到平均工资:来自Lynda.com的SQL查询
Select s1.department, avg(s1.salary)
From
(Select department, salary
From staff
Where salary > 100000) s1
Group by s1.department
VS
select department, avg(salary) as avg_salary
from staff
where salary > 100000
group by department
答
是的,它给出了同样的数额回来。 底部查询从一个从表中获取数据的子选择中获取数据,而顶部查询直接从表中获取数据。
那里没有额外的过滤器。所以结果将是一样的。
然而,你可以测试它,不要拿我的话来说。
您使用的RDBMS是什么? MySQL,SQL服务器?不清楚你问什么。您可以运行查询并查看他们的结果是否相同 – Artem