关于查询语句的效率

来源:百度知道 编辑:UC知道 时间:2024/06/18 02:02:04
一个职工表
有职工号,姓名,年龄,月工资,部门号,电话字段
查询每个部门中月工资最高的员工信息
应该用什么查询语句?

如何提高查询语句的 效率

select 职工号,姓名,年龄,月工资,部门号,电话字,max(月工资)as 最大月工资
from 职工表
group by 职工号,姓名,年龄,月工资,部门号,电话
这个是最简单的单表查询。是用连接查询理念,二楼上的两位吧问题复杂化了,尤其是第二位,根本不要用子查询来做,要知道子查询在执行过程当中有一个转化的过程,如果你的数据库很大的话,用子查询来做是非常的浪费时间的。因为子查询首先要转化为链接查询,然后在执行。所以我的这个联接查询是最简单的,针对你的问题,我想是没有问题 的。只要你的表是单表,我是根据你的题目来做的。

select 部门号1,max(月工资) as 月工资1 from 职工表
group by 部门号
insert into temp temptab;
select 职工号,姓名,年龄,月工资,部门号,电话字段 from 职工表,temptab
where 部门号=temptab.部门号1
and 月工资=temptab.月工资1

select * from 职工表
where 月工资 = (select max(月工资) from 职工表)