问题描述
select e.ename,e.salary,e.deptnofrom employee e join (select deptno,round(avg(salary)) avgsal from employee group by deptno) aon e.deptno = a.deptnoand e.salary > a.avgsalfrom 后面的子句查询出的结果是三条,我想知道e.salary > a.avgsal这个过滤条件是只要大于a表中的一条记录就可以还是大于a表中的所有记录才可以?
解决方案
e.salary > a.avgsal这个过滤条件代表 查询表中所有薪水高于部门平均薪水的员工。
解决方案二:
表中的一条记录就可以了, 你想想, 如果要所有的记录都要满足你说的条件, 那其中有些记录是满足你那个条件的,那不就不能查出来了啊。 正确一点来说不是说一条记录, 而是满足e.salary > a.avgsal 这个条件的都被查询出来
时间: 2024-09-09 15:49:31