jiang_dr
jiang_dr
全部文章
分类
题解(78)
归档
标签
去牛客网
登录
/
注册
jiang_dr的博客
目前专注于SQL的练习
TA的专栏
78篇文章
1人订阅
SQL练习
78篇文章
821人学习
全部文章
(共76篇)
题解 | #获取员工其当前的薪水比其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
题解 | #查找所有员工的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
448
题解 | #统计出当前各个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
540
题解 | #获取所有的员工和员工对应的经理,如果员工本身是经理的话则不显示#
来自专栏
思路:这个题主要搞清两个点 员工对应的经理 使用left join将两表以dept_no相连,这就形成了dept_emp.emp_no 和 dept_manager.emp_no的对应关系 员工本身是经理的话则不显示 我们在第一步已经得到了员工和经理的对应关系,现在只需要将dept_emp.emp...
Mysql
Sqlite
2021-09-29
2
730
题解 | #获取所有非manager的员工emp_no#
来自专栏
两种方法:方法一:使用 not in问题是要找出所有非manager的员工编号,所以我们可以使用 not in select emp_no from employees where emp_no not in (select emp_no from dept_manager) 方法二:使用 left...
Mysql
2021-09-29
2
525
首页
上一页
1
2
3
4
5
6
7
8
下一页
末页