现有emp、dept、salgrade三张表,具体的表结构见文件夹中txt文档的见表语句,根据提出的问题写出相应的sql语句查询部门最低工资高于10号部门最低工资的部门的编号、名称及部门最低工资。。
时间: 2024-05-03 09:19:36 浏览: 177
可以使用如下SQL语句查询部门最低工资高于10号部门最低工资的部门的编号、名称及部门最低工资:
```
SELECT d.deptno, d.dname, MIN(e.sal) AS min_sal
FROM emp e
JOIN dept d ON e.deptno = d.deptno
WHERE d.deptno <> 10
GROUP BY d.deptno, d.dname
HAVING MIN(e.sal) > (SELECT MIN(sal) FROM emp WHERE deptno = 10);
```
解释一下上述SQL语句的具体含义:
1. 首先使用JOIN将emp表和dept表连接起来,通过e.deptno = d.deptno建立关联;
2. WHERE子句过滤掉部门编号为10的部门,因为我们要查询的是比10号部门最低工资还高的部门;
3. 使用GROUP BY对部门编号和部门名称进行分组;
4. 使用HAVING子句筛选部门最低工资大于10号部门最低工资的部门;
5. 使用MIN函数计算出每个部门的最低工资。
这样就能够查询到部门最低工资高于10号部门最低工资的部门的编号、名称及部门最低工资了。
相关问题
然后针对emp 员工表、salgarde 工资等级表、dept 部门表三张表做基本查询题目如下
1. 查询emp表中所有员工的姓名和工资。
可以使用如下SQL语句进行查询:
SELECT 姓名, 工资 FROM emp;
2. 查询salgrade表中所有工资等级的上限和下限。
可以使用如下SQL语句进行查询:
SELECT 上限, 下限 FROM salgrade;
3. 查询dept表中所有部门的名称和所在地。
可以使用如下SQL语句进行查询:
SELECT 部门名称, 所在地 FROM dept;
4. 查询emp表中工资大于5000的员工的姓名和工资。
可以使用如下SQL语句进行查询:
SELECT 姓名, 工资 FROM emp WHERE 工资 > 5000;
5. 查询dept表中所在地为"上海"的部门的名称和所在地。
可以使用如下SQL语句进行查询:
SELECT 部门名称, 所在地 FROM dept WHERE 所在地 = '上海';
6. 查询emp表中工资在5000到10000之间的员工的姓名和工资。
可以使用如下SQL语句进行查询:
SELECT 姓名, 工资 FROM emp WHERE 工资 BETWEEN 5000 AND 10000;
7. 查询emp表中工资最高的员工的姓名和工资。
可以使用如下SQL语句进行查询:
SELECT 姓名, 工资 FROM emp ORDER BY 工资 DESC LIMIT 1;
8. 查询dept表中共有多少个不同的部门。
可以使用如下SQL语句进行查询:
SELECT COUNT(DISTINCT 部门名称) FROM dept;
9. 查询salgrade表中工资等级在3到5之间的等级的上限和下限。
可以使用如下SQL语句进行查询:
SELECT 上限, 下限 FROM salgrade WHERE 等级 BETWEEN 3 AND 5;
10. 查询emp表中员工姓名为"张三"且所在部门为"销售部"的员工的工资。
可以使用如下SQL语句进行查询:
SELECT 工资 FROM emp WHERE 姓名 = '张三' AND 所在部门 = '销售部';
阅读全文