牛客题霸-SQL篇——10~20题(1)

简介: + SQ11:获取所有员工当前的manager描述有一个员工表dept_emp简况如下:

+ SQ11:获取所有员工当前的manager

描述

有一个员工表dept_emp简况如下:

20210607212316917.png

第一行表示为员工编号为10001的部门是d001部门。

有一个部门经理表dept_manager简况如下:


第一行表示为d001部门的经理是编号为10002的员工。

获取所有的员工和员工对应的经理,如果员工本身是经理的话则不显示,以上例子如下:

实例代码:

select d.emp_no,m.emp_no manager
from dept_emp d 
left join dept_manager m 
on d.dept_no = m.dept_no
where d.emp_no != m.emp_no


20210607212442447.png

+ SQ12:获取每个部门中当前员工薪水最高的相关信息

描述

有一个员工表dept_emp简况如下:

20210608140240131.png

有一个薪水表salaries简况如下:

获取每个部门中当前员工薪水最高的相关信息,给出dept_no, emp_no以及其对应的salary,按照部门编号升序排列,以上例子输出如下:

(注意: Mysql与Sqlite select 非聚合列的结果可能不一样)

代码:

select d.dept_no,s.emp_no,s.salary maxSalary
from dept_emp d 
left join salaries s 
on d.emp_no = s.emp_no
group by d.dept_no
having max(s.salary)
order by d.dept_no asc


20210608140141293.png

+ SQ15:查找employees表

描述

有一个员工表employees简况如下:

建表语句如下:

CREATE TABLE `employees` (
`emp_no` int(11) NOT NULL,
`birth_date` date NOT NULL,
`first_name` varchar(14) NOT NULL,
`last_name` varchar(16) NOT NULL,
`gender` char(1) NOT NULL,
`hire_date` date NOT NULL,
PRIMARY KEY (`emp_no`));

请你查找employees表所有emp_no为奇数,且last_name不为Mary的员工信息,并按照hire_date逆序排列,以上例子查询结果如下:


代码:

select d.dept_no,s.emp_no,s.salary maxSalary
from dept_emp d 
left join salaries s 
on d.emp_no = s.emp_no
group by d.dept_no
having max(s.salary)
order by d.dept_no asc

20210608140830987.png

+ SQ16:统计出当前各个title类型对应的员工当前薪水对应的平均工资

描述

有一个员工职称表titles简况如下:

有一个薪水表salaries简况如下:

建表语句如下:

CREATE TABLE titles (
`emp_no` int(11) NOT NULL,
`title` varchar(50) NOT NULL,
`from_date` date NOT NULL,
`to_date` date DEFAULT NULL);
CREATE TABLE `salaries` (
`emp_no` int(11) NOT NULL,
`salary` int(11) NOT NULL,
`from_date` date NOT NULL,
`to_date` date NOT NULL,
PRIMARY KEY (`emp_no`,`from_date`));

请你统计出各个title类型对应的员工薪水对应的平均工资avg。结果给出title以及平均工资avg,并且以avg升序排序,以上例子输出如下:

代码

select t.title,avg(s.salary)
from titles t 
left join salaries s 
on t.emp_no = s.emp_no
group by t.title
having avg(s.salary) 
order by avg(s.salary)  asc


20210608141813674.png

+ SQ17:获取当前薪水第二多的员工的emp_no以及其对应的薪水salary

描述

有一个薪水表salaries简况如下:

请你获取薪水第二多的员工的emp_no以及其对应的薪水salary

代码:

select emp_no,salary
from salaries s
order by s.salary desc
limit 1,1


20210608142120317.png

牛客题霸-SQL篇——10~20题(2)https://developer.aliyun.com/article/1415696?spm=a2c6h.13148508.setting.24.6e1a4f0eQzpjQW

目录
相关文章
|
4天前
|
SQL 关系型数据库 MySQL
牛客题霸-SQL篇——10~20题(2)
+ SQ18:获取当前薪水第二多的员工的emp_no以及其对应的薪水salary 描述 有一个员工表employees简况如下:
50 0
|
4天前
|
SQL
牛客题霸-SQL篇——1~10题(3)
+ SQ10:获取所有非manager的员工emp_no 描述 有一个员工表employees简况如下:
32 0
|
4天前
|
SQL
牛客题霸-SQL篇——1~10题(2)
+ SQ5:查找所有员工的last_name和first_name以及对应部门编号dept_no 描述 有一个员工表,employees简况如下:
37 0
|
4天前
|
SQL
牛客题霸-SQL篇——1~10题(1)
+ SQ1:查找最晚入职员工的所有信息 描述 有一个员工employees表简况如下:
52 0
|
SQL
【SQL】牛客题霸SQL入门篇1(基础查询、条件查询、高级查询)
【SQL】牛客题霸SQL入门篇1(基础查询、条件查询、高级查询)
146 0
|
SQL
牛客题霸刷题-SQL必知必会50道
SQL每个人都要用,但是用来衡量产出的并不是SQL本身,你需要用这个工具,去创造其它的价值。
260 0
牛客题霸刷题-SQL必知必会50道
|
2天前
|
SQL 数据处理 API
实时计算 Flink版产品使用合集之遇到SQL Server锁表问题如何解决
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
8 0
|
2天前
|
SQL API 流计算
实时计算 Flink版产品使用合集之在Mac M1下的Docker环境中开启SQL Server代理的操作步骤是什么
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
18 1
|
3天前
|
SQL 关系型数据库 MySQL
实时计算 Flink版产品使用合集之当 SQL Server 源数据库中的数据更新后,CDC 吐出的操作(op)是怎样的
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
14 0
|
4天前
|
SQL XML Linux
SQL Server的版本
【5月更文挑战第14天】SQL Server的版本
19 3