240 发简信
IP属地:浙江
  • 《数据库SQL实战》全部答案

    最近正好有点时间,就整理了一下牛客网上的数据库SQL实战中的题,里面的每一道题我都亲自编写并运行了一下,有的题可能不止一个解,并且有些做了备注与分析。这里的题很具有代表性,对...

  • 12、获取所有部门中当前员工薪水最高的相关信息,给出dept_no, emp_no以及其对应的salary, 当前表示to_date='9999-01-01'
    ------------ 作者 还是遗漏了 部门内 有员工薪资一样的情况 ,group by 只会取其中一个 ,导致遗漏人员 。可以修改如下:
    思路: 将每个部门,最高薪 做成一张临时表 然后 再关联 员工表,薪资表, 然后取出符合薪资,部门的 员工。

    SELECT
    e.dept_no,
    e.emp_no,
    s.salary
    FROM
    dept_emp e
    INNER JOIN salaries s ON e.emp_no = s.emp_no
    INNER JOIN (
    SELECT
    dept_no,
    max( salary ) AS sal
    FROM
    salaries
    INNER JOIN dept_emp ON salaries.emp_no = dept_emp.emp_no
    WHERE
    dept_emp.to_date = '9999-01-01'
    GROUP BY
    dept_no
    ) a ON a.dept_no = e.dept_no
    WHERE
    s.to_date = '9999-01-01'
    AND s.salary = a.sal;

    《数据库SQL实战》全部答案

    最近正好有点时间,就整理了一下牛客网上的数据库SQL实战中的题,里面的每一道题我都亲自编写并运行了一下,有的题可能不止一个解,并且有些做了备注与分析。这里的题很具有代表性,对...