Sql语句之查询员工信息详细实例
Admin
|
2009-4-19 21:27:08
|
TrackRecord:
1765
Times | Tag标签:数据库Sql,VFP,Access
打印本页
您当前所处的位置是:〖首页〗→【文章页】
本站共有16个图文教程栏目,请用心拜读!
本站提供经典的Excel公式函数实例,Word排版技巧,PPT教程;同时更兼有Flash,PowerPoint,数据库等技术文章。
关键词:最大年龄、员工信息、部门、存储过程
假如,存在如下的员工表(employee)结构:
|
ID |
DeptID |
Age |
|
1 |
1 |
34 |
|
2 |
2 |
24 |
|
3 |
3 |
52 |
|
4 |
3 |
42 |
|
… |
一般用法:
理论指导:写一个SQL语句,找出每个部门年龄最大的员工。
1、显示1号部门最大年龄的员工信息
Select top 1 * from (Select * from employee where(DeptID=1) order by Age) as employee
2、显示2号部门最大年龄的员工信息
Select top 1 * from (select * from employee where(DeptID=2) order by Age) as employee
3、显示n号部门最大年龄的员工信息
Select top 1 * from (select * from employee where(DeptID=n) order by Age) as employee
4、显示每个部门年龄最大的员工信息
Select top 1 * from (Select * from employee where(DeptID=1) order by Age) as employee
union
Select top 1 * from (Select * from employee where(DeptID=2) order by Age) as employee
union
Select top 1 * from (Select * from employee where(DeptID=3) order by Age) as employee
union
…
5、显示每个部门年龄最大的员工信息
Select * from employee where Age=(select max(Age) from employee) and DeptID=1
Union
Select * from employee where Age=(select max(Age) from employee) and DeptID=2
Union
Select * from employee where Age=(select max(Age) from employee) and DeptID=3
…
创建获取部门员工信息的存储过程
Create procedure employeeInfo
@bmh int
As
Select * from employee where DeptID=@bmh
Go
执行存储过程,获取指定部门的员工信息
Exec employeeInfo @bmh=1
知识扩展:
理论指导:写一个SQL语句,找出每个部门年龄最大的员工。
1、显示每个部门年龄最大的部门信息和年龄
select DeptID,max(Age) as Age from employee group by DeptID
2、查询年龄最大的员工的员工编号
Select ID from employee as a where (DeptID,Age) in
(select DeptID,max(Age) as Age from employee group by DeptID)
3、 显示每个部门年龄最大的员工信息和年龄
Select * from employee
Where ID in
(Select ID from employee as a where (DeptID,Age) in
(select DeptID,max(Age) as Age from employee group by DeptID))
会员评论列表:

正在加载数据,请稍后……
针对本篇文章或本站,请您发表个人的建议或批评!