jiang_dr
jiang_dr
全部文章
分类
题解(78)
归档
标签
去牛客网
登录
/
注册
jiang_dr的博客
目前专注于SQL的练习
TA的专栏
78篇文章
1人订阅
SQL练习
78篇文章
819人学习
全部文章
(共78篇)
题解 | #汇总各个部门当前员工的title类型的分配数目#
来自专栏
这题主要还是考察表的连接,以及 group by 的使用。 先贴一下结果 select dp.dept_no, dp.dept_name, t.title, count(t.title) from dept_emp de inner join titles t on de.emp_no = t.em...
Mysql
2021-10-15
1
523
题解 | #获取员工其当前的薪水比其manager当前薪水还高的相关信息#
来自专栏
思路:做两个表,一个用来存员工信息及薪水,另一个用来存manager信息及薪水,然后通过where筛选出薪水大于manager的员工,查询出对应信息 select sde.emp_no as emp_no, sdm.emp_no as manager_no, sde.salary as emp_sa...
Mysql
2021-10-12
1
499
题解 | #获取所有非manager员工当前的薪水情况#
来自专栏
本题有两种解法 方法一:inner join 思路:本题的重点在于获取非manager员工,因此我们使用inner join将employees,dept_emp,salaries表进行连接,在 where 条件中加入 e.emp_no not in (select emp_no from dept...
Mysql
Sqlite
2021-10-12
4
693
题解 | #统计各个部门的工资记录数#
来自专栏
思路:这题可以有三种解法。 第一二种类似,区别在于第一种方法是使用left join,第二种使用 inner join,其实区别并不大,酌情使用即可 -- 方法一: select dp.dept_no, dp.dept_name, count(s.salary) as sum from salar...
Mysql
2021-10-11
5
623
题解 | #查找在职员工自入职以来的薪水涨幅情况#
来自专栏
思路:我们使用两个表,分别保存之前的工资和当前的工资 方法一:使用两次left join 和 一次 inner join 之前的工资的条件为:salaries.from_date = employees.hire_date 当前的工资的条件为:salaries.to_date = '9999-01-...
Sqlite
2021-10-11
1
620
题解 | #查找所有员工的last_name和first_name以及对应的dept_name#
来自专栏
思路:这是一个典型的多表连接,值得注意的是未分配部门员工也需要展示,这就要考虑使用什么连接方式。这里使用两次左连接来实现。 完整代码: select e.last_name, e.first_name, d.dept_name from (employees e left join dept_emp...
Mysql
Sqlite
2021-10-09
2
654
题解 | #获取当前薪水第二多的员工的emp_no以及其对应的薪水salary#
来自专栏
思路: 我们首先通过 max() 求出第一大的薪水。 然后通过 < 去除最大的,且通过 max() 求出第二大的。 表连接,取 salary = 第二大的薪水,及对应的字段值。 完整代码: select e.emp_no, s.salary, e.last_name, e.first_n...
Mysql
Sqlite
2021-10-09
1
504
题解 | #获取当前薪水第二多的员工的emp_no以及其对应的薪水salary#
来自专栏
思路:关于这种获取第几多的XXX问题,一般可以直接使用 limit 来进行求解。 这里需要注意的是: 需要进行去重,举个例子:可能会存在两个相同的最高工资,如果不进行去重,那么使用 limit 将取不到第二大的工资 去重的方式有两种,第一种是 distinct 第二种是 group by sala...
Mysql
Sqlite
2021-10-09
1
447
题解 | #统计出当前各个title类型对应的员工当前薪水对应的平均工资#
来自专栏
思路:题目所表达的意思其实就是两表连接后,通过分组求title和avg(s.salary)。 这里我们需要注意的是: 在经过 group by 之后,select 中只能包含分组的字段以及聚合函数。 有很多人说不明白为什么要使用 to_date ,其实这个只是为了保证是当前的员工。 完整代码: ...
Mysql
Sqlite
2021-10-09
6
512
题解 | #查找employees表emp_no与last_name的员工信息#
来自专栏
位运算 select * from employees where emp_no & 1 = 1 and last_name != 'Mary' order by hire_date desc 思路:按照给定要求作答即可 其中,使用位运算是效率最高的,当然也可以使用取模 在这补充一下位运...
Mysql
2021-10-09
4
539
首页
上一页
1
2
3
4
5
6
7
8
下一页
末页