+ SQ11:获取所有员工当前的manager
描述
有一个员工表dept_emp简况如下:
第一行表示为员工编号为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
+ SQ12:获取每个部门中当前员工薪水最高的相关信息
描述
有一个员工表dept_emp简况如下:
有一个薪水表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
+ 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
+ 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
+ SQ17:获取当前薪水第二多的员工的emp_no以及其对应的薪水salary
描述
有一个薪水表salaries简况如下:
请你获取薪水第二多的员工的emp_no以及其对应的薪水salary
代码:
select emp_no,salary from salaries s order by s.salary desc limit 1,1
牛客题霸-SQL篇——10~20题(2)https://developer.aliyun.com/article/1415696?spm=a2c6h.13148508.setting.24.6e1a4f0eQzpjQW