
SQL
苏横3215
这个作者很懒,什么都没留下…
展开
-
leetcode_SQL185. 部门工资前三高的所有员工
题目描述如下:表: Employee+--------------+---------+| Column Name | Type |+--------------+---------+| id | int || name | varchar || salary | int || departmentId | int |+--------------+---------+Id是该表的主键列。departm原创 2022-03-21 15:07:46 · 297 阅读 · 0 评论 -
牛客SQL12 and SQL15
SQL12题目描述如下:思路:本题要查询的是每个部门薪水最高的员工号,部门号,薪水先根据emp_no连接两个表,按照部门分组group by找出每个组薪水最高的代码如下:select d.dept_no, s.emp_no,s.salaryfrom salaries s left join dept_emp d on s.emp_no = d.emp_no/*连接表*/group by d.dept_no having s.salary=max(s.salary)/*分组,再找到薪水最高的那原创 2022-03-21 11:41:21 · 107 阅读 · 0 评论 -
牛客SQL10 and SQL11
SQL10题目描述如下:思路:该题目较为简单,需要查询的是emp_no在employees中却不再dept_manager中的,用子查询 条件为 not in代码如下:select emp_no from employees where emp_no not in (select emp_no from dept_manager)SQL11题目描述如下:思路:查询每个员工的领导,可以用左连接,条件为 e.dept_no = m.dept_no如果员工的emp_no和主管的emp_no相同则不原创 2022-03-21 11:02:35 · 137 阅读 · 0 评论 -
牛客SQL7and SQL8
SQL7题目描述如下:思路:按照emp_no分组 group by ,然后用聚合函数count计算每一组的个数select cloum1,cloum2,count(cloum) from tablegroup by cloum1,cloum2 having 条件使用group by 的时候,select后的列名要么作为分组依据(出现在group by后的) 要么是聚合函数select 后的聚合函数,是以每个分组单位进行计算的,聚合的集合为分组后的每个小组如果需要添加查询条件的话,应当把条原创 2022-03-21 10:40:08 · 286 阅读 · 0 评论 -
牛客SQL4 and SQL5
题目4描述:思路: 题目要求查找已分配部门的员工信息,返回字段涉及两个表,两个表有相同字段emp_no且唯一,可以对该字段使用连接操作方法一:select e.last_name, e.first_name, d.dept_nofrom employees e, dept_emp dwhere e.emp_no = d.emp_no;不推荐方法二:采用自然连接select e.last_name ,e.first_name ,d.dept_no from employees e原创 2022-03-20 18:24:24 · 91 阅读 · 0 评论 -
牛客SQL3_查找当前薪水详情以及部门编号dept_no
题目描述如下:思路: 第一个表是全体员工(包含领导)的薪资,包含员工号,薪水等。第二个表是各部门领导表,包含部门号,领导的工号。我们需要查询的是各部门领导的员工号,薪资,from_data,to_data,部门号。并将查询结果按员工号升序排序方法一:简单粗暴,先把表连接起来,再按员工号排序select s.*,d.dept_no from salaries as s,dept_manager as d where s.emp_no = d.emp_no order by s.emp_no原创 2022-03-20 18:05:20 · 574 阅读 · 0 评论 -
牛客SQL2_查找入职员工时间排名倒数第三的员工所有信息
题目如下:思路:根据题目描述,我们可以利用order by 进行排序,再用 limit 取出数第三的入职时间。limit 用法如下:select * from table limit n offset mlimit 后的n代表要取查询结果的前n行offset 后面的m代表偏移量(可省略,默认为0)例如: limit 3 offset 5 代表 先偏移5行,再取前三行。即从第六行开始,取三行,也就是6,7,8行limit 的优先级是较低的,需要等前面查询语句的操作都完成后,在完成其他条件原创 2022-03-20 12:51:13 · 505 阅读 · 0 评论 -
牛客SQL1_查找最晚入职员工的所有信息
题目如下:思路:先利用 max() 函数找出最后入职的那一位的入职时间,再用嵌套查询select * from employees where hire_date = (select max(hire_date) from employees )原创 2022-03-20 12:36:38 · 176 阅读 · 0 评论