sql面试题

对于以下试题共有五张表:employees表 department表 jobs表 location表 job_grads表

1. 查询每个月倒数第二天入职的员工

      select last_name, hire_date  from employees  where hire_date = last_day(hire_date)  

2.查询出last_name为‘chen’的manager的信息
   (子查询)select * from employees where epmloyees_id=(select manager_id from employees where last_name=‘chen’)

   (自连接)select m.* from employees e,employees m where e.manager_id=m.employee_id and e.last_name='chen'
3.查询工资高于8000的部门id和他的平均工资

      select dep_id,avg(sal) from dep order by dep_id having avg(sql)>8000

4.查询工资最低的员工信息:last_name,salary

      select last_name,salary from emp where salary=(select min(sal) from emp)

5.查询平均工资最低的部门信息

      select * from dep where dep_id = (select dep_id from emp group by dep_id having avg(salary)=(select min(avg(salary)from emp               group by dep_id))

6.查询平均工资最高的job信息

   1)按job_id分组,查询最高的平均工资

        select max(avg(salary))  from emp group by job_id 

   2) 查询出平均工资等于1)的job_id

   select job_id from emp group by job_id having avg(salary)=( select max(avg(salary))  from emp group by job_id )

  3)查询2)对应的job信息

   select * from job where job_id =(select job_id from emp group by job_id having avg(salary)=( select max(avg(salary))  from emp group by job_id )

7.查询平均工资高于公司平均工资的部门有哪些?

  1)查询公司的平均工资

     select avg(salary) fromemp

  2)查询平均工资高于1)的部门id

    select dep_id from emp group by dep_id  having avg(salary)>(select avg(salary) fromemp)

 8 查询公司中所有manager的详细信息

   1)查询出所有manager_id

      select distinct manager_id from emp

   2) 查询emp_id为1)查询结果的那些员工信息

     select emp_id,last_name from emp where emp_id in(  select distinct manager_id from emp)

 9 . 各个部门中最高工资中最低的那个部门的最低工资是多少

   1)查询各个部门中的最高工资

     select max(salary) from dep group by dep_id

   2)查询出1)对应的查询结果的最低值

     select  min(max(salary)) from emp group by dep_id

3)查询2)所对应的部门id是多少:各个部门中最高工资等于2)的那个部门的id

select dep_id from dep group by dep_id having max(salary)=(  select  min(max(salary)) from emp group by dep_id)
.   4)查询3)所在部门的最低工资 

select min(salary) from emp where dep_id=(select dep_id from dep group by dep_id having max(salary)=(  select  min(max(salary)) from emp group by dep_id))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值