美文网首页
2021-07-20 刷题 24、25、26题

2021-07-20 刷题 24、25、26题

作者: Sunny_Liao | 来源:发表于2021-07-20 23:09 被阅读0次

SQL24 获取所有非manager员工当前的薪水情况


SQL 24 题目 SQL 24 题目 SQL 24 题目 SQL 24 题目 SQL 24 题目

解答:

先找到所有非manager员工emp_no,再内连接工资表和部门表即可

SELECT DE.dept_no,S.emp_no,S.salary FROM

salaries AS S

INNER JOIN dept_emp AS DE ON DE.emp_no = S.emp_no

WHERE  S.to_date = "9999-01-01" AND S.emp_no NOT IN

(

SELECT DM.emp_no FROM dept_manager AS DM

INNER JOIN dept_emp AS  DE ON DM.emp_no = DE.emp_no)

评论区看到一个有意思的解答:

SELECT

    b.dept_no,

    a.emp_no,

    d.salary

FROM

    employees a,

    dept_emp b,

    dept_manager c,

    salaries d

WHERE

    a.emp_no = b.emp_no

    AND b.dept_no = c.dept_no

    AND b.emp_no != c.emp_no

    AND a.emp_no = d.emp_no


SQL25 获取员工其当前的薪水比其manager当前薪水还高的相关信息


SQL 25 题目 SQL 25 题目 SQL 25 题目 SQL 25 题目

解答:

思路:先做一个经理表m,然后做一个员工表w,最后对比这两个表的工资的结果

SELECT

w.emp_no,

m.emp_no AS manager_no,

w.salary AS emp_salary,

m.salary AS manager_salary

FROM

(

SELECT

s.emp_no,

s.salary,

de.dept_no

FROM

salaries AS s

INNER JOIN dept_emp AS de ON de.emp_no = s.emp_no

WHERE

s.emp_no IN ( SELECT dm.emp_no FROM dept_manager AS dm INNER JOIN dept_emp AS de ON de.emp_no = dm.emp_no ) AND s.to_date = "9999-01-01"

) AS m  -------经理表

INNER JOIN (

SELECT

s.emp_no,

s.salary,

de.dept_no

FROM

salaries AS s

INNER JOIN dept_emp AS de ON de.emp_no = s.emp_no

WHERE

s.emp_no NOT IN ( SELECT dm.emp_no FROM dept_manager AS dm INNER JOIN dept_emp AS de ON de.emp_no = dm.emp_no ) AND s.to_date = "9999-01-01"

) AS w   -------员工表

ON m.dept_no = w.dept_no

WHERE w.salary>m.salary   --------员工工资大于其经理工资


SQL26 汇总各个部门当前员工的title类型的分配数目


SQL 26 题目 SQL 26 题目 SQL 26 题目 SQL 26 题目

解答:

不知道为什么我的这个代码是错误的?

SELECT

de.dept_no,

d.dept_name,

t.title,

COUNT( t.title ) AS count

FROM

titles AS t

INNER JOIN dept_emp AS de ON t.emp_no = de.emp_no

INNER JOIN departments AS d ON d.dept_no = de.dept_no

WHERE de.to_date = "9999-01-01" AND t.to_date = "9999-01-01"

GROUP BY

de.dept_no,

d.dept_name,

t.title

讨论区答案:

select c.dept_no

      ,c.dept_name

      ,d.title

      ,count(d.title)

from titles d

inner join

          (select a.dept_no

                  ,a.emp_no

                  ,b.dept_name

                  ,a.from_date

                  ,a.to_date

            from dept_emp a

            inner join departments b

            on a.dept_no=b.dept_no) c

on d.emp_no=c.emp_no

where c.to_date='9999-01-01' 

group by c.dept_no,d.title

order by c.dept_no asc

相关文章

  • 2021-07-20 刷题 24、25、26题

    SQL24获取所有非manager员工当前的薪水情况[https://www.nowcoder.com/pract...

  • 命题说题6

    第9题 第14题初稿 第14题定稿 第15题初稿 第15题定稿 第25题初稿 第25题定稿 第26题 第28题 ...

  • 道德与法治第三次周考参考答案

    一、选择题。26分。 CCAB,CDDD,BCBC,B 1----13题 二、非选择题。24分。 14、(1)①...

  • 2022-09-16

    刷题,刷题还是刷题

  • 刷题刷题

    时间紧迫,任务繁重,又有疫情影响,搞的人心惶惶,一时间复习得不安宁,又舍不得摆烂。 在焦灼、惶恐的情绪中,紧张急迫...

  • 2018-07-16

    刷题,祸害的何止是教育? 报班,刷题;买练习册,刷题;家教,刷题;跟不上,刷题;学得好,刷题;为了抢跑,刷题;为了...

  • 25.10.17

    24:听力 第一题练习 25:听力第一题10篇完成 阅读模拟2 单词

  • 2020-02-01关于刷题的几个建议

    算法刷题 针对性刷题,刻意练习。刻意刷题!不是麻木刷题!刷题前一定要先看书,清楚明白为什么要刷这些题,这些题刷完能...

  • 刷题

    清早起来刷题 吃饭也在刷题 上厕所也在刷题 中午也在刷题 下午也在刷题 晚上也在刷题 一天到晚都在刷题 考试马上到...

  • 程序猿刷题网站你知道吗?

    Coderbyte 刷题网LeetCode 刷题网Stack Overflow 刷题网

网友评论

      本文标题:2021-07-20 刷题 24、25、26题

      本文链接:https://www.haomeiwen.com/subject/qufdmltx.html