文章目录

  • 1. 题目
  • 2. 解题

1. 题目

项目表 Project:

+-------------+---------+
| Column Name | Type    |
+-------------+---------+
| project_id  | int     |
| employee_id | int     |
+-------------+---------+
(project_id, employee_id) 是这个表的主键
employee_id 是员工表 Employee 的外键

员工表 Employee:

+------------------+---------+
| Column Name      | Type    |
+------------------+---------+
| employee_id      | int     |
| name             | varchar |
| experience_years | int     |
+------------------+---------+
employee_id 是这个表的主键

写 一个 SQL 查询语句,报告在每一个项目经验最丰富的雇员是谁。
如果出现经验年数相同的情况,请报告所有具有最大经验年数的员工。

查询结果格式在以下示例中:

Project 表:
+-------------+-------------+
| project_id  | employee_id |
+-------------+-------------+
| 1           | 1           |
| 1           | 2           |
| 1           | 3           |
| 2           | 1           |
| 2           | 4           |
+-------------+-------------+Employee 表:
+-------------+--------+------------------+
| employee_id | name   | experience_years |
+-------------+--------+------------------+
| 1           | Khaled | 3                |
| 2           | Ali    | 2                |
| 3           | John   | 3                |
| 4           | Doe    | 2                |
+-------------+--------+------------------+Result 表:
+-------------+---------------+
| project_id  | employee_id   |
+-------------+---------------+
| 1           | 1             |
| 1           | 3             |
| 2           | 1             |
+-------------+---------------+
employee_id 为 1 和 3 的员工在 project_id 为 1 的项目中拥有最丰富的经验。
在 project_id 为 2 的项目中,employee_id 为 1 的员工拥有最丰富的经验。

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/project-employees-iii
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

  • 先找出项目经验最大的年数
  • 再where过滤
# Write your MySQL query statement below
select project_id,  employee_id
from Project left join Employee
using(employee_id)
where (project_id, experience_years) in
(select project_id, max(experience_years) exp_yearsfrom Project left join Employeeusing(employee_id)group by project_id
)

389 ms


我的CSDN博客地址 https://michael.blog.csdn.net/

长按或扫码关注我的公众号(Michael阿明),一起加油、一起学习进步!

LeetCode MySQL 1077. 项目员工 III相关推荐

  1. LeetCode MySQL 1076. 项目员工II

    文章目录 1. 题目 2. 解题 1. 题目 Table: Project +-------------+---------+ | Column Name | Type | +------------ ...

  2. LeetCode MySQL 1075. 项目员工 I

    文章目录 1. 题目 2. 解题 1. 题目 项目表 Project: +-------------+---------+ | Column Name | Type | +-------------+ ...

  3. LeetCode MySQL 1070. 产品销售分析 III(group by 陷阱)

    文章目录 1. 题目 2. 解题 1. 题目 销售表 Sales: +-------------+-------+ | Column Name | Type | +-------------+---- ...

  4. LeetCode MySQL解题目录

    已完成的 LeetCode MySQL 数据库题目.点击查看我的 LeetCode 算法解题目录. 已解决 123/123 - 简单 54 中等 51 困难 18 前置入门学习 MySQL 基本查询. ...

  5. java swing mysql实现的员工工资管理系统项目

    下载链接https://download.csdn.net/download/RONNIE_Zz/12675313 项目功能 随着经济的发展,企业正向着大型化.规模化发展,而对于大中型企业,员工.职称 ...

  6. Java毕设项目员工绩效考核系统分析与设计(java+VUE+Mybatis+Maven+Mysql)

    Java毕设项目员工绩效考核系统分析与设计(java+VUE+Mybatis+Maven+Mysql) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilder ...

  7. 【java毕业设计】基于javaEE+原生Servlet+MySql的企业员工信息管理系统设计与实现(毕业论文+程序源码)——企业员工信息管理系统

    基于javaEE+原生Servlet+MySql的企业员工信息管理系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于javaEE+原生Servlet+MySql的企业员工信息管理系统设计 ...

  8. java人员安排表_Java实现 LeetCode 732 我的日程安排表 III(暴力 || 二叉树)

    732. 我的日程安排表 III 实现一个 MyCalendar 类来存放你的日程安排,你可以一直添加新的日程安排. MyCalendar 有一个 book(int start, int end)方法 ...

  9. 完成一个SpringBoot项目——员工管理系统

    SpringBoot项目--员工管理系统 该系统为一个springboot项目--员工管理系统的代码,前端使用的模板是thymeleaf,数据写在了dao层,没有用数据库,完全可以实现增删改查 目录 ...

最新文章

  1. SET QUOTED_IDENTIFIER OFF语句的作用
  2. Nat.Commun. | AI指导发现炎症性肠病保护治疗方法
  3. 开源中国app说什么 旁边的那个图标是什么drawable
  4. java设置native内存大小_如何定位native内存泄露问题?
  5. shell的执行流控制
  6. 数据结构之链表--单链表
  7. java案例代码11-学生类的录入,查询,对象的封装
  8. Nmap命令:-sP和-sN的区别
  9. (3)资源管理-- Effective C++改善程序与设计的55个具体做法(Effective C++: 55 Specific Ways to Improve Your Programs)
  10. Centos7清理垃圾文件或过期文件
  11. 实习僧-产品体验报告
  12. 使用jmeter自动化证据切图后预览操作
  13. Android学习日记(yzy):SQLite数据库和baseAdapter
  14. Froyo 自动编译方法
  15. 人生重开模拟器(Python实现)
  16. template 的用法
  17. 天津人民优步司机当周奖励政策 (8.3-8.9)
  18. php编写跑马灯,使用C++的编程风格写一个跑马灯的例程
  19. 平仓_敞口_外汇结售汇_小记
  20. Android底层驱动开发记录:01_JNI

热门文章

  1. 【Python基础入门系列】第08天:Python List
  2. 关于Eclipes的Logcat无法打印消息的解决办法
  3. php处理form多文件上传,ajax利用FormData、FileReader实现多文件上传php获取
  4. windows下修改tomcat的startup.bat脚本文件后台运行
  5. hdu max sum
  6. 获取指定日期所属年份的第一天日期或最后一天日期
  7. Python深浅拷贝辨析
  8. 《你不知道的JavaScript》中卷 KYLE SIMPSON 著 单业 姜南 译
  9. B. Code For 1 一个类似于线段树的东西
  10. Eclipse 为jar包加入 Java Source和Javadoc(如何向Eclipse中导入源码和doc)