查询每个工种、每个部门的部门名、工种名和最低工资
时间: 2023-07-10 15:27:42 浏览: 356
您可以使用如下的 SQL 语句查询每个工种、每个部门的部门名、工种名和最低工资:
```
SELECT d.department_name, j.job_title, MIN(j.min_salary) AS min_salary
FROM employees e
JOIN jobs j ON e.job_id = j.job_id
JOIN departments d ON e.department_id = d.department_id
GROUP BY d.department_name, j.job_title;
```
这个查询使用了 `JOIN` 来联接 `employees`、`jobs` 和 `departments` 表,然后使用 `GROUP BY` 对 `department_name` 和 `job_title` 进行分组,最后使用 `MIN` 函数来计算每个组中的最低工资。
相关问题
SQL:查询每个工种,每个部门的最低工资
好的,以下是SQL查询语句:
```
SELECT 工种, 部门, MIN(工资) AS 最低工资
FROM 工资表
GROUP BY 工种, 部门;
```
其中,工资表是存储工资信息的表,包含字段:工种、部门、工资。这个查询会按照工种和部门分组,然后计算每组的最低工资。最后返回结果集,包含字段:工种、部门、最低工资。
如何通过自连接查询每个工种的工种名和员工的个数,并且按员工个数降序排列 查询每个工资级别的个数大于20的个数,并且按工资级别降序排 序
您好!感谢您向我提出问题。针对您的第一个问题,您可以使用以下的SQL语句进行查询:
SELECT 工种名, COUNT(*) AS 员工个数
FROM 表名
GROUP BY 工种名
ORDER BY 员工个数 DESC;
其中,表名为包含员工信息的表名,工种名为员工所属的工种名称。使用GROUP BY语句按照工种名进行分组,使用COUNT函数统计每个工种名对应的员工个数,最后使用ORDER BY语句按员工个数降序排列。
针对您的第二个问题,您可以使用以下的SQL语句进行查询:
SELECT 工资级别, COUNT(*) AS 个数
FROM 表名
GROUP BY 工资级别
HAVING COUNT(*) > 20
ORDER BY 工资级别 DESC;
其中,表名为包含员工信息的表名,工资级别为员工所属的工资级别。使用GROUP BY语句按照工资级别进行分组,使用COUNT函数统计每个工资级别出现的次数,使用HAVING语句筛选出个数大于20的工资级别,最后使用ORDER BY语句按工资级别降序排列。
希望以上答案能够帮助您解决问题,如有任何疑问,请随时向我提出。
阅读全文