宝宝王
宝宝王
全部文章
分类
题解(7)
归档
标签
去牛客网
登录
/
注册
萝卜猪姐姐的sql记录本
全部文章
(共7篇)
题解 | #查找描述信息中包含robot的电影对应的分类名称以及电影数目,而且还需要该分类对应电影数量>=5部#
把电影数>=5的类别从film_category里挑出来,形成new_fc; 把三张表连起来,且加入限制description里有robot,形成new_f; 按照category_id把new_fc和new_f连起来,按照category去group之后计数count(*)即可。 代码:s...
2021-09-13
0
492
题解 | #汇总各个部门当前员工的title类型的分配数目#
把三张表连起来,得到员工,部门,title,部门名; 根据部门id和title做group by,直接计数即可。 代码: select tb.dept_no, tb.dept_name, tb.title, count(*)from(select de.emp_no, de.dept_no, t....
2021-09-10
0
544
题解 | #获取员工其当前的薪水比其manager当前薪水还高的相关信息#
连接de和s,得到每个员工对应的id,部门和工资,记为tb1; 连接dm和s,得到每个部门对应经理的id,部门和工资,记为tb2; 根据部门id,把tb2左连到tb1上,形成【员工id,部门id,经理id,员工工资,经理工资】,挑出员工工资大于经理工资的那些对应列即可; 代码:select tb1...
2021-09-10
0
415
题解 | #对所有员工的薪水按照salary降序进行1-N的排名#
从两个salaries里取数; 给定s1的金额,把s2里大于>=该金额的数提出来,比如s1对应的一行是8000,整个表里只有8000和8100>=8000,那么这个emp_no对应的就是这俩数; 根据emp_no做group by,得到每个员工对应的金额小于的所有值,然后再计算不重复值,...
2021-09-10
0
480
题解 | #查找在职员工自入职以来的薪水涨幅情况#
找到所有人的入职工资,连起来之后找员工的hire_dat = 薪资的from_dat的那些,为tb_hire; 找到所有人的在职工资,连起来之后找薪资的to_dat = '9999-01-01'的那些,为tb_now,这个表只保留了在职人员; 把tb_hire和tb_now按照emp_no连起来,i...
2021-09-10
0
480
题解 | #获取当前薪水第二多的员工的emp_no以及其对应的薪水salary#
从salaries里提取最大金额; 提取salaries里小于最大金额的所有金额,取最大金额; 将employees和salaries连接之后,找到金额等于2的员工即可 select e.emp_no, s.salary, e.last_name, e.first_name from employ...
2021-09-10
0
392
题解 | #获取每个部门中当前员工薪水最高的相关信息#
先找到每个部门对应的最大金额,两个表join之后直接对部门group by求最大金额即可,记为tb2,注意不可以把员工名打出来,因为默认是第一个,而不是max金额对应的那个,所以只能得到[部门,max金额]; 两表连接记为tb1,即包含[员工,部门,薪水]; 把tb2按照部门左连到tb1上,再找到薪...
2021-09-09
1
432