zoukankan      html  css  js  c++  java
  • 【SQL】牛客网SQL试题练习(更新到11题)

    【练习链接】:https://www.nowcoder.com/ta/sql

    第一部分:01-11

    SQL01 查找最晚入职员工的所有信息 (入门)

    # 用ALL
    select * from employees
    where hire_date >= all 
                        (select hire_date
                         from employees
                         );
    # 用LIMIT
    select * from employees
    order by hire_date DESC
    limit 1;

    SQL02 查找入职员工时间排名倒数第三的员工所有信息 (简单)

    select * from employees
    order by hire_date desc
    limit 1 offset 2;

    SQL03 查找各个部门当前领导当前薪水详情以及其对应部门编号dept_no (中等

    select salaries.*,dept_no
    from dept_manager left join salaries
    on salaries.emp_no = dept_manager.emp_no
    where dept_manager.to_date='9999-01-01' 
    and salaries.to_date='9999-01-01'
    order by salaries.emp_no;

    SQL04 查找所有已经分配部门的员工的last_name和first_name (简单

    select last_name,first_name,dept_no
    from employees join dept_emp
    on employees.emp_no = dept_emp.emp_no

    SQL05 查找所有员工的last_name和first_name以及对应部门编号dept_no (中等

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

    SQL06 查找所有员工入职时候的薪水情况 (中等

    select salaries.emp_no,salary
    from employees left join salaries
    on employees.emp_no = salaries.emp_no
    where from_date = hire_date
    order by emp_no desc;

    SQL07 查找薪水涨幅超过15次的员工号emp_no以及其对应的涨幅次数t (简单

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

    SQL08 找出所有员工当前具体的薪水salary情况 (简单

    select distinct salary
    from salaries
    where to_date='9999-01-01'
    order by salary desc;

    SQL09 获取所有部门当前manager的当前薪水情况 (中等

    select dept_no,salaries.emp_no,salary
    from salaries left join dept_manager
    on dept_manager.emp_no = salaries.emp_no
    where dept_manager.to_date='9999-01-01'
    and salaries.to_date='9999-01-01'
    order by dept_no;

    SQL10 获取所有非manager的员工emp_no (简单

    select employees.emp_no
    from employees left join dept_manager
    on employees.emp_no = dept_manager.emp_no
    where employees.emp_no
    not in (select emp_no
           from dept_manager);

    SQL11 获取所有员工当前的manager (中等

    # 如果自己是manager的话不显示
    # 相当于查询出自己不是manager的员工和其manager的编号
    select dept_emp.emp_no,dept_manager.emp_no
    from dept_emp left join dept_manager
    on dept_emp.dept_no = dept_manager.dept_no
    where dept_manager.to_date='9999-01-01'
    and dept_emp.emp_no != dept_manager.emp_no

    第二部分:12-22

    第三部分:23-33

    第四部分:34-44

    第五部分:45-55

    第六部分:56-66

    第七部分:67-76

  • 相关阅读:
    读《淘宝数据魔方技术架构解析》有感
    架构之谈
    读《蚂蚁金服11.11:支付宝和蚂蚁花呗的技术架构及实践》有感
    第八周周总结
    hadoop安装和配置
    第七周周总结
    [BZOJ]2836: 魔法树
    [BZOJ]4540: [Hnoi2016]序列
    [BZOJ]1511: [POI2006]OKR-Periods of Words
    [BZOJ]1116: [POI2008]CLO
  • 原文地址:https://www.cnblogs.com/tuzinn/p/13969790.html
Copyright © 2011-2022 走看看