A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© lovecx24 中级黑马   /  2013-12-5 13:22  /  1830 人查看  /  2 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

职工号姓名年龄月工资部门号办公室电话
1张三252000110112345
2李四261500120154321
3王五23900210223456
问题:
查询每个部门中月工资最高的“职工号”的SQL查询语句如下:
select 职工号 from 职工 as 啊where 职工.工资  = select max(月工资) from 职工 as b where a.部门号= b.部门号
(1)请简要说明该查询语句对查询效率的影响
(2)对查询语句进行修改,使它既可以完成相同的功能,又可以提高查询效率

评分

参与人数 1技术分 +1 黑马币 +3 收起 理由
狼王 + 1 + 3 赞一个!

查看全部评分

2 个回复

倒序浏览
这个有点高端,看上去好像是内连接
回复 使用道具 举报
1.这个语句对数据进行了两次遍历,遍历次数太多会增加数据库的负担。一张表的操作过于复杂。
2.可以对部门进行分组,然后查询各个部门工资最高的。如:select  max(月工资) from 职工 group by 部门号.
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马