欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

[ SQL ] 数据库SQL实战(牛客网)

程序员文章站 2022-05-11 08:17:06
...

注:实战使用的是SQLite3数据库

  • 查找最晚入职员工的所有信息
select *
from employees
where hire_date = (select max(hire_date) from employees)

 

  • 查找入职员工时间排名倒数第三的员工所有信息
select *
from employees
where hire_date = (select hire_date from employees order by hire_date desc limit 1 offset 2)    # 从第2条(不包括)数据开始取出1条数据,即读取第3条,limit后面跟的是1条数据,offset后面是从第2条之后开始读取

 

  • 查找各个部门当前(to_date = ‘9999-01-01’)领导当前薪水详情以及其对应部门编号dept_no
select a.*,b.dept_no
from salaries a,dept_manager b
where a.emp_no = b.emp_no and a.to_date = '9999-01-01' and b.to_date = '9999-01-01'

 

  • 查找所有已经分配部门的员工的last_name和first_name以及dept_no
select e.last_name,e.first_name,d.dept_no
from dept_emp d,employees e
where d.emp_no = e.emp_no and dept_no is not null

 

  • 查找所有员工的last_name和first_name以及对应部门编号dept_no,也包括展示没有分配具体部门的员工
select e.last_name, e.first_name, d.dept_no 
from employees e 
left join dept_emp d 
on d.emp_no = e.emp_no

日更5题,持续更新。

相关标签: sqlite