几条常见的查询题

employee表                                                   department表

emp_id     int     (表id)                           dpt_id                    int        (表id)
emp_name   varchar (员工姓名)            dpt_name             varchar    (部门名称)
dpt_id     int     (部门ID)                        dpt_manage_id      int        (部门负责人id)
emp_salary int     (工资)
emp_age    int     (年龄) 

其中employee表的emp_id与department表的dpt_manage_id的关系为相等.

请分别写出SQL
1,查询研发部的所有工资高于5000元所有员工的姓名和工资
2,查询部门工资总额高于5万元的部门名称
3,查询张三属下并且年龄高于40岁的所有员工的姓名,年龄,所在部门和工资

不懂写SQL,请各位指教!谢谢

 

1. 

select emp_name, emp_salaryfrom employee ewhere emp_salary> 5000 and exists(select 1 from departmentwhere dpt_id= e.dpt_idand dpt_name= '研发部' )

select e.emp_name,e.emp_salary from employee e,depatrment d where d.dpt_id=e.dpt_id and d.dpt_name='研发部' and e.emp_salary >3000

 



2. 

select dpt_namefrom department d where (select sum(emp_salary)from employeewhere dpt_id= d.dpt_id )> 50000

select d.dpt_name from depatrment d inner join employee e on d.dpt_id=e.dpt_id group by d.dpt_name   having sum(e.emp_salary)>50000 



3.
select e.emp_name, e.emp_age, d.dpt_name, e.emp_salaryfrom employee einner join department don e.dpt_id= d.dpt_idwhere e.emp_age> 40 and exists(select 1 from employeewhere emp_id= d.dpt_manage_idand emp_name= '张三'

select e.emp_name,e.emp_age,d.dpt_name,e.emp_salary from employee e inner join depatrment d on e.dpt_id=d.dpt_id where e.emp_age>18and e.emp_id = d.dpt_manage_id ande.emp_id in (select emp_id from employee where emp_name='张三')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值