设为首页 加入收藏

TOP

查询每个部门最低工资的雇员信息
2015-11-21 01:30:01 来源: 作者: 【 】 浏览:0
Tags:查询 每个 部门 最低 工资 员信息

如题:

查询每个部门最低工资的雇员信息

关联子查询方法

1 查询每个部门的最低工资

select deptno, min(sal) min_sal from emp group by deptno;

\


2 同最低工资关联人员信息<??http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+PHByZSBjbGFzcz0="brush:sql;">select e.* from emp e, (select deptno, min(sal) min_sal from emp group by deptno) s where e.deptno = s.deptno and e.sal = s.min_sal;
\

in关键字方法

in关键字是这种场景容易想到的一个方法,先查询出部门的最低工资,然后匹配最低工资的雇员信息。


select * from emp where sal in (select min(sal) from emp group by deptno);

\

错误解析

in 方法存在一个问题,当两部门中有多个相同的工资值时会产生错误的结果

现在讲emp 中empno 为 1234 的用户部门修改为 20

update emp set deptno = 20 where empno = 1234;

然后再使用in查询方法查部门最低工资的员工信息

\

这时,empno 为 1234 的员工工资与deptno为10的部门最低工资相同,所以使用in查询就查出了这个最低工资。

但是使用 关联子查询 的方法查询,

综上比较,在类似的查询中,慎用in 关键字直接查询,而要使用关联子查询按部就班的来查。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇查询出部门名称、部门的员工数、.. 下一篇ODBC与JDBC比较

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: