首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    ​LeetCode刷题实战184:部门工资最高的员工

    算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试。所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选 !...今天和大家聊的问题叫做 部门工资最高的员工 ,我们先来看题面: https://leetcode-cn.com/problems/department-highest-salary/ Write a...题意 编写一个 SQL 查询,找出每个部门工资最高的员工。对于上述表,您的 SQL 查询应返回以下行(行的顺序无关紧要)。 ?...解题 此题难度中等,可以使用 JOIN 和 IN 语句,查询语句如下: SELECT Department.name AS 'Department', Employee.name AS...,如果觉得有所收获,请顺手点个在看或者转发吧,你们的支持是我最大的动力 。

    38130

    MySQL练习四:查询已经分配部门员工的姓名和部门编号

    题目: 有一个员工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连接方式。

    1.6K30

    【MySql】复合查询

    > (select avg(sal) from emp); 显示每个部门的平均工资和最高工资 select deptno, max(sal)最高,format(avg(sal),2) 平均 from...,hisal from emp,salgrade where sal between losal and hisal; 自连接 自连接是指在同一张表连接查询 举个例子: 显示员工FORD的上级领导的编号和姓名...(mgr是员工领导的编号–empno) 想找FORD的领导的编号,通过EMP表;根据领导的编号,找领导信息,也是通过EMP表: 使用的子查询 select ename,empno from emp where...) tmp where emp.deptno=tmp.deptno and emp.sal> tmp.myavg; 查找每个部门工资最高的人的姓名、工资、部门、最高工资 select ename,sal...描述 查找所有员工入职时候的薪水情况,给出emp_no以及salary, 并按照emp_no进行逆序(请注意,一个员工可能有多次涨薪的情况) CREATE TABLE employees (

    23530

    MySQL复合查询

    而一些部门奖金为空,加起来后的结果自然也为空,故需要ifnull判断是否为空,若为空,则替换成0 显示工资最高的员工的名字和工作岗位 此时,可以先找到最高的工资,然后通过这个工资找到对应的ename。...显示每个部门的平均工资和最高工资 此时显示的是每个部门,而不是全公司,所以一定是要按照部门进行分组的。按照谁分组,查询时就可以将谁显示,因为这样相同的值可以压缩。...即拿emp表举例,显示员工FORD的上级领导的编号和姓名(mgr是员工领导的编号–empno) 那么此时就需要两步,先根据员工名FORD找到对应的mgr,再通过mgr与empno的对应,找到empno...单行子查询 返回一行记录的子查询 就像刚刚所演示的子查询式的查找,在这里我们同样的展示一下: 显示SMITH同一部门的员工 select * from emp where deptno = (select...查找每个部门工资最高的人的姓名、工资、部门、最高工资 看到部门,肯定就是聚合。聚合的结果只会有最高工资这个数字,姓名,工资都无法聚合。

    21140

    mysql练习(含答案)

    查找部门30中员工的详细信息。 ? 2.找出从事clerk工作的员工的编号、姓名、部门号。 ? 3. 检索出奖金多于基本工资的员工信息。 ? 4.检索出奖金多于基本工资60%的员工信息。 ?...5.找出10部门的经理、20部门的职员的员工信息。 ? 6.找出10部门的经理、20部门的职员或者既不是经理也不是职员但是工资高于2000元的员工信息。 ? 7.找出获得奖金的员工的工作。 ?...8.找出奖金少于100或者没有获得奖金的员工的信息。 ? 9.找出姓名以A、B、S开始的员工信息。 ? 10.找到名字长度为6个字符的员工信息。 ? 11.名字中不包含R字符的员工信息。 ?...多表查询题目 返回拥有员工的部门名、部门号。 ? 2.工资水平多于smith的员工信息。 ? 3.返回员工和所属经理的姓名。 ? or ?...19.返回工资为二等级的职员名字、部门所在地、和二等级的最低工资和最高工资 ? 20.工资等级多于smith的员工信息。 ? 单表查询答案 #1、查找部门30中员工的详细信息。

    2.6K60

    MYSQL数据库-复合查询

    或岗位为MANAGER的雇员,同时还要满足他们的姓名首字母为大写的J 按照部门号升序而雇员的工资降序排序 使用年薪进行降序排序 显示工资最高的员工的名字和工作岗位 显示工资高于平均工资的员工信息...显示每个部门的平均工资和最高工资 显示平均工资低于2000的部门号和它的平均工资 显示每种岗位的雇员总数,平均工资 二、多表查询 实际开发中往往数据来自不同的表,所以需要多表查询。...示例:显示员工FORD的上级领导的编号和姓名(mgr是员工领导的编号–empno) 使用的子查询: 使用多表查询(自查询): -- 使用到表的别名 -- from emp leader, emp...:显示工资比部门30的所有员工的工资高的员工的姓名、工资和部门号 any关键字:显示工资比部门30的任意员工的工资高的员工的姓名、工资和部门号(包含自己部门的员工) 3、多列子查询 单行子查询是指子查询只返回单列...这里要用到数据查询的技巧,把一个子查询当做一个临时表使用 示例: 显示每个高于自己部门平均工资的员工的姓名、部门、工资、平均工资 查找每个部门工资最高的人的姓名、工资、部门、最高工资 显示每个部门的信息

    13.2K30

    MySQL:复合查询

    基本查询回顾 对于emp表: 查询工资高于500或岗位为MANAGER的雇员,同时还要满足他们的姓名首字母为大写的J 按照部门号升序而雇员的工资降序排序 使用年薪进行降序排序 显示工资最高的员工的名字和工作岗位...显示工资高于平均工资的员工信息 显示每个部门的平均工资和最高工资 显示平均工资低于2000的部门号和它的平均工资 显示每种岗位的雇员总数,平均工资 二....自连接 自连接是指在同一张表连接查询。 显示员工ford的上级领导的编号和姓名 子查询 使用多表查询(自连接) 四....10自己的 并不是实际存在的表才能做笛卡尔积,通过查询出来的表也能做笛卡尔积: all关键字:显示工资比部门30的所有员工的工资高的员工的姓名、工资和部门号 any关键字:显示工资比部门30的任意员工的工资高的员工的姓名...显示每个高于自己部门平均工资的员工的姓名、部门、工资、平均工资 查找每个部门工资最高的人的姓名、工资、部门、最高工资 显示每个部门的信息(部门名,编号,地址)和人员数量 法一:使用多表 对于select

    10710

    【MySQL】复合查询

    deptno, sal desc; 使用年薪进行降序排序 select ename, sal*12+ifnull(comm, 0) 年薪 from emp order by 年薪 desc; 显示工资最高的员工的名字和工作岗位...例如,显示员工 WARD 的上级领导的编号和姓名(mgr 是员工领导的编号) 使用子查询 select empno, ename from emp where emp.empno=(select...-> and emp.deptno = tmp.dt; 查找每个部门工资最高的人的姓名、工资、部门、最高工资 先获取每个部门最高工资的人的信息: select deptno, max(sal) 最高工资...tmp.deptno -> and emp.sal = tmp.最高工资; 显示每个部门的信息(部门名,编号,地址)和人员数量 使用多表 select dept.dname, dept.deptno...五、练习 查找所有员工入职时候的薪水情况 获取所有非manager的员工emp_no 获取所有员工当前的manager

    13610

    组函数及分组统计

    (sal) from emp; -- 求全部雇员的最高工资 select max(sal) from emp; -- 求部门编号为20的雇员的平均工资和总工资 select avg(sal),sum...select deptno, avg(sal) from emp group by deptno; 统计每一个部门的最高工资,以及获得最高工资的雇员姓名 假设写成 SELECT ename,max(...就必然出如今GROUP BY 语句的后面 -- 统计出每一个部门的最高工资。...假设要指定分组条件,则仅仅能通过另外一种条件的指令:HAVING -- 显示非销售人员工作名称以及从事同一工作雇员的月工资总和,而且要满足从事同一工作的雇员的月工资合计大于$5000,输出结果按月工资合计升序排列...: 仅仅要一列上存在反复内容才有可能考虑到用分组查询 注意: 分组函数能够嵌套使用,可是在组函数嵌套使用的时候不能再出现分组条件的列名 例:求平均工资最高的部门编号、部门名称、部门平均工资 第一步:

    1.5K20

    【MySQL】多表查询

    多表查询如果不加任何条件,得到的结果称为笛卡尔积。 例如,查找雇员名、雇员工资以及部门所在的名字。...单行子查询:子查询的查询结果只有一行 显示和SMITH同一部门的员工 多行子查询(in ,all, any):返回多条记录的子查询 查询和10好部门的工作相同的官员的名字、工作、工资、部门号,但是不包括...10号自己的信息 显示工资比部门编号为30的所有员工的工资高的员工的姓名、工资和部门号 显示工资比部门编号为30的任意员工的工资高的员工的姓名、工资和部门号 多列子查询:查询返回多个列数据的子查询语句...查询和SMITH的部门和岗位完全相同的雇员,不含SMITH本人 from子句中使用子查询 显示高于自己部门的平均工资的员工信息 查找每个部门工资最高的人的ename, job, sal...3.显示每个部门的信息(部门名、编号、地址)和人员数量 这里有两种方法可以使用,但是经验证,当数据非常多的时候from子查询的效率是高于多表查询的。

    3.2K30

    数据库表中常用的查询实验

    select ename,sal from emp where deptno=10; 练习4、请从表EMP中查找工种是职员CLERK或经理MANAGER的雇员姓名、工资。...select ename,sal,job from emp where ename like ‘J%’; 练习7、请从表EMP中查找工资低于2000的雇员的姓名、工作、工资,并按工资降序排列。...select ename,sal+nvl(comm,0) “sal-and-comm” from emp; 2.查询所有81年7月1日以前来的员工姓名、工资、所属部门的名字 select ename,sal...select dname,ename from emp,dept where emp.deptno=dept.deptno and job=’MANAGER’; 10.查询部门平均工资最高的部门名称和最低的部门名称...selectdecode(deptno,10,sal+100,20,sal+200,sal+300)from empwhere ename=‘YUAN’; 6.查找部门编号和职位都不同的职员信息 SQL

    1K20
    领券