练习sql语句,所有题目来自于力扣(https://leetcode.cn/problemset/database/)的免费数据库练习题。
1075.项目员工 I
表:Project
列名 | 类型 |
---|---|
project_id | int |
employee_id | int |
主键为 (project_id, employee_id)。
employee_id 是员工表 Employee 表的外键。
表:Employee
列名 | 类型 |
---|---|
employee_id | int |
name | varchar |
experience_years | int |
主键是 employee_id
请写一个 SQL 语句,查询每一个项目中员工的 平均 工作年限,精确到小数点后两位。
首先梳理表内容,题干一共给了两张表,一张项目表,记录了项目id还有员工的id,第二张是员工表,记录了员工id,这里的员工id就是项目表的员工id,还用员工姓名以及工作年限。其次分析需求,需要查询项目中员工的平均工作年限,精确到小数点后两位,我的思路就是两表连接,其次分组求平均数,最后就是加round取小数点后两位
select project_id,round(avg(experience_years),2) as average_years
from Project p
left join Employee e
on p.employee_id = e.employee_id
group by project_id
能运行就行。