【面试官:我看你SQL语句掌握的怎么样?面试SQL语句专题1】

一.查找最晚入职员工的所有信息

实现SQL

select
  *
from
  employees
where
  hire_date = (
    select
      max(hire_date)
    from
      employees
  )

二.查找入职员工时间排名倒数第三的员工所有信息

实现SQL

select
  *
from
  employees
where
  hire_date = (
    select
      distinct hire_date
    from
      employees
    order by
      hire_date DESC
    limit
      2, 1
  )

三.查找当前薪水详情以及部门编号dept_no

实现SQL

select
  salaries.emp_no,
  salaries.salary,
  salaries.from_date,
  salaries.to_date,
  dept_manager.dept_no
from
  salaries,
  dept_manager
where
  salaries.emp_no = dept_manager.emp_no
order by
  salaries.emp_no;

四.查找所有已经分配部门的员工的last_name和first_name以及dept_no

实现SQL

select
  e.last_name,
  first_name,
  d.dept_no
from
  employees e,
  dept_emp d
where
  e.emp_no = d.emp_no;

五.查找所有员工的last_name和first_name以及对应部门编号dept_no

实现SQL

select
  e.last_name,
  e.first_name,
  d.dept_no
from
  employees e
  left join dept_emp d on e.emp_no = d.emp_no;

六.查找薪水记录超过15条的员工号emp_no以及其对应的记录次数t

实现SQL

select
  emp_no,
  count(emp_no) as t
from
  salaries
group by
  emp_no
having
  t > 15

七.找出所有员工当前薪水salary情况

实现SQL

select
  distinct salary
from
  salaries
order by
  salary desc

八.获取所有非manager的员工emp_no

实现SQL

select
  emp_no
from
  employees e
where
  e.emp_no not in (
    select
      emp_no
    from
      dept_manager
  )

九.获取所有员工当前的manager

实现SQL

select
  e.emp_no,
  d.emp_no as manager
from
  dept_emp e,
  dept_manager d
where
  e.dept_no = d.dept_no
  and e.emp_no ! = d.emp_no

十.获取每个部门中当前员工薪水最高的相关信息

实现SQL

select
  temp.dept_no,
  s.emp_no,
  temp.salary as maxSalary
from
  salaries s
  inner join (
    select
      d.dept_no,
      max(salary) as salary
    from
      dept_emp d
      inner join salaries s on d.emp_no = s.emp_no
    group by
      d.dept_no
  ) temp inner join dept_emp d on temp.salary = s.salary and d.dept_no=temp.dept_no and d.emp_no=s.emp_no
order by
  temp.dept_no asc
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

硕风和炜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值