面试中常见sql问题

有两个表:

dept (deptno,deptname);

emp (empNo,empName,salary,job,deptNo);


1.请用一条sql查询所有部门的最高,最低工资?

select d.deptname,max(e.salary),min(e.salary) 

from dept d join emp e on d.deptno=e.deptNo

group by d.deptno;

2.请用一条sql查询所有部门,工种为“焊工”的人员的平均工资?

select d.deptname,e.job,avg(e.salary) 

from dept d join emp e on d.deptno=e.deptNo 

where job='jiagong' 

group by d.deptno;

3.请用一条sql把各个部门的工资按从低到高排序?

select d.deptname,e.empName,e.salary 

from emp e left join dept d on e.deptNo=d.deptno 

order by d.deptname,salary;

4.请用一条sql统计每个部门的总人数?

select d.deptname,count(*) 

from dept d join emp e on d.deptno=e.deptNo 

group by d.deptName;

5.请用一条sql显示工资排在第二名的人员?

select *  from emp order by salary limit 1,1;


转载于:https://my.oschina.net/u/2474820/blog/512120

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值