1.2 你的收获 增强自信,搞定面试:在求职中,SQL是经常遇到的技能点,而这些题目也多数是真实的面试题,刷题可以让我们更好地备战面试,增强自信,提升自己的核心竞争力。...2、今日真题 题目介绍: 查询员工的累计薪水 find-cumulative-salary-of-an-employee 难度困难 SQL架构 Employee 表保存了一年内的薪水信息。...请你编写 SQL 语句,对于每个员工,查询他除最近一个月(即最大月)之外,剩下每个月的近三个月的累计薪水(不足三个月也要计算)。...所以近 3 个月的薪水累计分别为 (40 + 30 + 20) = 90,(30 + 20) = 50 和 20。...薪水为 60 和 月份 '2' 薪水为 40。
select id,month,salary+ifnull(l1,0)+ifnull(l2,0) salary from (select *,...
题目 Employee 表保存了一年内的薪水信息。 请你编写 SQL 语句,对于每个员工,查询他除最近一个月(即最大月)之外,剩下每个月的近三个月的累计薪水(不足三个月也要计算)。...'1' 除去最近一个月(月份 '4'), 有三个月的薪水记录: 月份 '3' 薪水为 40, 月份 '2' 薪水为 30, 月份 '1' 薪水为 20。...所以近 3 个月的薪水累计分别为 (40 + 30 + 20) = 90,(30 + 20) = 50 和 20。...'2' 除去最近的一个月(月份 '2')的话, 只有月份 '1' 这一个月的薪水记录。...分别为:月份 '3' 薪水为 60 和 月份 '2' 薪水为 40。
题目: 有一个员工employees表简况如下: [2DD8A8D108E674BCB32D6E32B03492C1] 有一个部门表,dept_emp简况如下: [4BF7C729BECEE5D9215DF0C0B22855A0...] 请你查找所有已经分配部门的员工的last_name和first_name以及dept_no,未分配的部门的员工不显示,以上例子如下: [92EDD0ECE3222E00AE2F555AC9153034...); INSERT INTO employees VALUES(10004,'1954-05-01','Chirstian','Koblick','M','1986-12-01'); 解题思路: 此题是查询已经分配部门的员工信息...,我们则直接去部门员工信息表查找到那些员工已经分配了部门。...查询到也已经分配了部门的员工编号,我们则根据编号直接到员工信息表中查找员工信息。 由于是查询已经分配了部门信息的员工,部分员工也没有分配部门,则不查询出来。我们则使用inner连接方式。
查询具有各个job的员工人数 SELECT job,COUNT(*) FROM emp GROUP BY job; -- 17....(SELECT AVG(sal) FROM emp); -- 11、求各个部门薪水最高的员工信息 #每个部门的最高薪水 SELECT deptno, MAX(sal) FROM emp GROUP...查询工资比公司平均工资高的员工的员工号,姓名和工资。...查询和姓名中包含字母u的员工在相同部门的员工的员工号和姓名 SELECT empno,ename FROM emp WHERE deptno= (SELECT deptno FROM emp...查询管理者是KING的员工姓名和工资 SELECT ename,sal FROM emp WHERE mgr = (SELECT empno FROM emp WHERE ename
已知: 讲师和辅导员都是员工 员工只是一个抽象的概念,不能是一个具体的对象 学生和员工都是人 设计时:必须有接口、抽象类 英文:学生-student...姓名:张辽,薪水:30000,职位:员工,部门号:30 1.定义方法sumSal,统计指定部门的员工人数和薪资总和 示例: 统计10号部门:sum(empList,10...) 输出:10号部门共2人,薪资和是:22000 2.定义方法selectDeptno,方法接收员工姓名和员工集合,方法中根据员工姓名查询员工的部门号,并返回部门号 示例: ...selectDeptno("黄盖",empList) 返回:20 3.定义方法selectAvgSql,方法接收部门号、员工集合,方法中查询并打印指定部门号的最高薪资、和平均薪资。 ...、部门名称、最高薪资、最高薪资的员工姓名 2.定义方法printDept,方法接收部门集合,员工集合,方法中根据部门号匹配,打印曹操的部门号,部门名称 3.定义方法printMaxManager,方法接收部门集合
本文将深入探讨MySQL中的子查询,包括什么是子查询、如何编写子查询以及使用子查询解决的常见查询问题。 1. 什么是子查询 子查询,也称为嵌套查询或内部查询,是一个查询嵌套在另一个查询内部的查询。...例如,假设您想要查找具有最高薪水的员工,您可以编写如下的查询: SELECT employee_name, salary FROM employees WHERE salary = (SELECT MAX...(salary) FROM employees); 在这个查询中,子查询 (SELECT MAX(salary) FROM employees) 返回了具有最高薪水的员工的薪水,然后父查询用于过滤出所有薪水等于最高薪水的员工...,子查询 (SELECT department_id, MAX(salary) FROM employees GROUP BY department_id) 返回每个部门中的最高薪水,然后外部查询用于与员工表中的数据进行关联...,以找到具有最高薪水的员工。
在SELECT子句中用TOP关键字来限制返回到结果集中的记录数目,用DISTINCT关键字从结果集中去掉重复的记录。...四、实验示例 1.查找表中所有姓刘的职工的工号,姓名,部门,薪水 select emp_no,emp_name, dept ,salary from employee where emp_name...select TOP 5 PERCENT * from sales ORDER BY tot_amt; 五、实验内容 1、在员工表employee中查找所有经理的姓名、职称、薪水。...select * from employee where addr not in ('上海市','北京市','天津市'); 6、在员工表employee中查找姓“王”用姓名最后一个字为“功”的员工...select * from employee where sex='女' and title in ('经理','职员'); 9、查找薪水最高的前三条员工记录。
: (1)列出薪水最高的前三名员工 (2)列出薪水比“ALLEN”高的所有员工信息 (3)计算每个部门的平均薪水 (4)列出哪些人的薪水在部门平均薪水之上 (5)列出平均薪水最高的部门的部门号码...(6)列出每个部门的最高薪水 (7)列出每个部门最高薪水的人员名称 (8)列出所有员工的姓名、薪水、部门名称、薪水等级 (9)列出所有员工及对应领导的名字 (10)列出部门名称和这些部门的员工信息...,同时列出那些没有员工的部门 所有查询语句如下 use book; #1.列出薪水最高的前三名员工 select * from emp order by sal desc limit 0,3...dname,ename,max(sal) sal FROM emp JOIN dept on emp.deptno=dept.deptno GROUP BY dept.dname; #8.列出所有员工的姓名...select e1.ename '员工',e2.ename '领导' from emp e1, emp e2 where e1.mgr = e2.empno; #10.列出部门名称和这些部门的员工信息
LeetCode-SQL-184-部门工资最高的员工 大家好,我是Peter~ 本文讲解的是LeetCode-SQL的第184题目,题目名为:部门工资最高的员工 难易程度:中等 题目 Employee...对于上述表,您的 SQL 查询应返回以下行(行的顺序无关紧要) +------------+----------+--------+ | Department | Employee | Salary |...;如果大于等于这个最高值,肯定是最高的 上面子句的作用就是找到每个部门中的薪水最高值 个人思路2 思路2是先使用窗口函数根据每个部门进行排序,从而得到每个人的排名,我们再取出每个人的名次即可。...MAX(Salary) FROM Employee GROUP BY DepartmentId ) 参考思路1 有位作者的思路和官方给定的思路是比较类似的: 1、根据部门分组找出最高薪水...,和原来的Employee表进行关联 select a.Id, -- 员工号 a.Name as Employee, -- 员工姓名 a.Salary,
6、取得平均薪水最高的部门的部门名称 7、求平均薪水的等级最低的部门的部门名称 8、取得比普通员工(员工代码没有在 mgr 字段上出现的)的 最高薪水还要高的领导人姓名 9、取得薪水最高的前五名员工 10...、取得薪水最高的第六到第十名员工 11、取得最后入职的 5 名员工 12、取得每个薪水等级有多少员工 13、列出所有员工及领导的姓名 14、列出受雇日期早于其直接上级的所有员工的编号,姓名, 部门名称...30 工作的所有员工的薪金的员工 姓名和薪金.部门名称. 25、列出在每个部门工作的员工数量,平均工资和平均服务期 限. 26、列出所有员工的姓名、部门名称和工资。...mgr 字段上出现的)的 最高薪水还要高的领导人姓名 思路: 第一步:“普通员工的最高薪水”还要高的一定是领导!...思路: 第一步:找出job是CLERK的所有的人名和部门名称: 第二步:每个部门的人数 第三步:将上边两个表做连接: 19、列出最低薪金大于 1500 的各种工作及从事此工作的全
2、哪些人的薪水在部门的平均薪水之上 3、取得部门中(所有人的)平均的薪水等级 4、不准用组函数(Max ),取得最高薪水 5、取得平均薪水最高的部门的部门编号 6、取得平均薪水最高的部门的部门名称...7、求平均薪水的等级最低的部门的部门名称 8、取得比普通员工(员工代码没有在 mgr 字段上出现的) 的最高薪水还要高的领导人姓名(*) MySQL练习题(一) 导入练习数据 CREATE DATABASE...(因为有的最高薪水是相同的人,需要将他们都显示出来) select e.ename,e.deptno,e.sal from (select ename,deptno,max(sal) as maxsal...(员工代码没有在 mgr 字段上出现的) 的最高薪水还要高的领导人姓名(*) (1)找出所有是领导身份的员工代码 select distinct mgr from emp where mgr is not...from emp where mgr is not null); (3)找出比这个最高工资大的员工的姓名和编号 select e.ename,e.empno from emp e where
MySQL入门知识点(下):https://blog.csdn.net/qq_58233406/article/details/127144532 文章目录 MySQL练习题(二) 9、取得薪水最高的前五名员工...10、取得薪水最高的第六到第十名员工 11、取得最后入职的 5 名员工 12、取得每个薪水等级有多少员工 13、面试题:(*) 13.1、找出没选过“黎明”老师的所有学生姓名。...14、列出所有员工及领导的姓名 15、列出受雇日期早于其直接上级的所有员工的编号,姓名,部门名称 16、 列出部门名称和这些部门的员工信息的同时列出那些没有员工的部门 MySQL练习题(二) 9、取得薪水最高的前五名员工...select e.ename,e.sal from emp e order by e.sal desc limit 0,5; 10、取得薪水最高的第六到第十名员工 select e.ename...a.mgr = b.empno where a.hiredate < b.hiredate ) t join dept d on t.deptno = d.deptno; 16、 列出部门名称和这些部门的员工信息的同时列出那些没有员工的部门
本文中将与大家学习和交流以下两件事: 1)学习和教一些基本功能以外的SQL函数 2)探讨一些SQL面试练习问题 * 本文中的问题仅来自Leetcode 问题1:第二高的薪水 编写一个SQL查询用于从Employee...例如,给定下面的Employee表,查询应返回200作为第二高的薪水。如果没有第二高的薪水,则查询应返回null。...1 OFFSET 1 ), null) as SecondHighestSalary FROM Employee LIMIT 1 2)解决方案B:使用MAX() 此查询表示选择的MAX薪水不等于最高薪水...| Id | Name | +----+----------+ | 1 | IT | | 2 | Sales | +----+----------+ 编写SQL查询来查找每个部门中薪水最高的员工...,她有一张座位表,上面存储着学生的姓名和相应的座位ID。
一、基础练习: 1.查询和scott相同部门的员工姓名ename和雇用日期hiredate SELECT ENAME,HIREDATE FROM EMP WHERE DEPTNO=(SELECT DEPTNO...FROM EMP WHERE ENAME='SCOTT'); 2.查询在部门的loc为NEW YORK的部门工作的员工的员工姓名ename,部门名称dname和岗位名称job SELECT E.ENAME...,D.DNAME,E.JOB,D.LOC FROM EMP E,DEPT D WHERE E.DEPTNO=D.DEPTNO AND D.LOC='NEW YORK'; 3.查询上司是king的员工姓名...,姓名,部门名称 --左自连接和多表查询 SELECT E.EMPNO 员工编号,E.ENAME 员工姓名,M.ENAME 主管姓名,E.HIREDATE 员工受雇日期, M.HIREDATE 上级雇用日期...表和B查询中进行多表查询获取JOB为CLERK的所有员工的姓名、部门名称和所在部门人数。
,用来查询数据,包含 SELECT SELECT 是 SQL 语言中使用频率最高的语句 SELECT语句具有强大的查询功能 SELECT允许从一个或多个表中选择满足条件的一个或多个行或列的数据 一、基本查询...=30 --4:查询出比ADAMS员工的薪水高的员工有哪些?...=30 --10:查询在12月份入职的员工且中间三位字母是LER,且部门和JONE是同一部门的员工有哪些 select hiredate from emp select to_char(hiredate...,使用自联接可以将自身表的一个镜像当做另一个表来对待,从而得到一些特殊的数据 eg: 要求查询每个员工的姓名、工作、员工的直接上级领导的姓名 分析:员工的领导也是员工 select e.ename,e.job...内连接是以具有关联关系 (相同名字)的列为连接条件的 可以使用 ON 子句指定额外的连接条件· 这个连接条件与其他条件是分开的 ON 子句使语句具有更高的易读性 语法: select table1.column
use hrs; -- 查询月薪最高的员工姓名和月薪 -- select ename, sal from tb_emp order by sal desc limit 1; select ename,..., sal from tb_emp where sal=(select max(sal) from tb_emp where job'总裁'); -- 查询月薪超过平均月薪的员工的姓名和月薪 select...ename, sal from tb_emp where sal>(select avg(sal) from tb_emp); -- 查询月薪超过其所在部门平均月薪的员工的姓名、部门编号和月薪 select...on tb_emp.dno=tb_dept.dno and tb_emp.dno=t3.dno and sal=最高薪水; -- 查询月薪最高的员工姓名和月薪 select ename, sal from....dno and t2.sal>t1.sal)<2 order by dno asc, sal desc; -- 使用窗口函数 查询每个部门月薪的前两名的员工姓名,月薪和部门编号 select ename
查询 概述:使用数据库保存数据,我们对数据库的操作主要是增,删,改,查操作,其中从数据库中查询数据更为基础,使用不同的查询方式,具有不同的查询效率。...日期和字符只能在单引号中出现。 每当返回一行时,字符串被输出一次。...查询部门id为90的员工的名字和薪水 SELECT last_name,salary FROM employees WHERE department_id = 90; 比较运算符 ?...补充:赋值使用 := 符号 在使用WHERE子句过滤数据的时候可以使用比较运算符 查询薪水小于3000的员工的名字和薪水 SELECT last_name, salary FROM employees...AND 要求并的关系为真 查询薪水大于等于1000并且job_id中有MAN字符的员工id,姓名,工作id,薪水 SELECT employee_id, last_name, job_id
如果不存在第二高的薪水,那么查询应返回 null。...如果不存在第 n 高的薪水,那么查询应返回 null。...,该查询可以获取收入超过他们经理的员工的姓名。...---- 题九:各部门工资最高的员工 Employee 表包含所有员工信息,每个员工有其对应的 Id, salary 和 department Id。...题十:各部门工资前三高的员工 Employee 表包含所有员工信息,每个员工有其对应的工号 Id,姓名 Name,工资 Salary 和部门编号 DepartmentId 。
文中会介绍题目和尽可能多的解答方案 组合两个表:通过join进行联结 第二高的薪水:ifnull和limit的用法以及建立临时表 超过经理收入的员工:一个表的自连接实现 从不订购的客户:两个表的连接 关于...,右表中不存在的字段则表示NULL 176-第二高的薪水 题目 编写一个SQL 查询,获取 Employee 表中第二高的薪水(Salary);如果没有,则表示为NULL ?...Salary) SecondHighestSalary from Employee where Salary < (select max(Salary) from Employee); -- where语句是先去掉最高的...每个员工都有一个 Id,此外还有一列对应员工的经理的 Id。 给定 Employee 表,编写一个 SQL 查询,该查询可以获取收入超过他们经理的员工的姓名。...在上面的表格中,Joe 是唯一一个收入超过他的经理的员工。 ?
领取专属 10元无门槛券
手把手带您无忧上云