【携程】统计指定部门员工扣除薪资比例
JOIN 连接聚合函数子查询字符串函数ORDER BY标签画像面试真题
题目描述
来源:携程 SQL 面试真题
某公司需要结合员工信息和薪资信息,统计 dep1 部门每位员工的扣除薪资比例。
数据表
staff_tb 员工信息表
| 字段 | 类型 | 说明 |
|---|---|---|
| staff_id | BIGINT | 员工 ID |
| staff_name | VARCHAR | 员工姓名 |
| staff_gender | VARCHAR | 员工性别 |
| post | VARCHAR | 员工岗位类别 |
| department | VARCHAR | 员工所在部门 |
salary_tb 员工薪资信息表
| 字段 | 类型 | 说明 |
|---|---|---|
| salary_id | BIGINT | 薪资信息 ID |
| staff_id | BIGINT | 员工 ID |
| normal_salary | DECIMAL | 标准薪资 |
| dock_salary | DECIMAL | 扣除薪资 |
题目要求
- 只统计 department = 'dep1' 的员工。
- 扣除薪资比例 = 扣除薪资 / 标准薪资 × 100%。
- 输出员工 ID、员工姓名和扣除薪资比例。
- 比例以百分数形式输出,四舍五入保留 1 位小数。
- 按扣除薪资比例降序排列;比例相同时按员工 ID 升序排列。
期望输出列
| 列名 | 说明 |
|---|---|
| staff_id | 员工 ID |
| staff_name | 员工姓名 |
| dock_ratio | 扣除薪资占标准薪资的比例 |
数据样例
| staff_idPKBIGINT | staff_nameVARCHAR(50) | staff_genderVARCHAR(10) | postVARCHAR(50) | departmentVARCHAR(50) |
|---|---|---|---|---|
| 1 | Angus | male | Financial | dep1 |
| 2 | Cathy | female | Director | dep1 |
| 3 | Aldis | female | Director | dep2 |
| 4 | Lawson | male | Engineer | dep1 |
| 5 | Carl | male | Engineer | dep2 |
| 6 | Ben | male | Engineer | dep1 |
| 7 | Rose | female | Financial | dep2 |
输入数据显示 7 / 7 行
SQL 编辑器正在保存草稿...
Ctrl + Enter 运行
正在加载 SQL 编辑器...
运行你的 SQL 查询后,结果将显示在这里