本题目要求编写嵌套查询SQL语句, 查询’A01’仓库中的职工中比’A02’任意一个职工薪水少的职工编号与姓名。 提示:请使用SELECT语句作答。 表结构: CREATE TABLE `employee` ( `Eid` varchar(10), --职工编号 `EName` varchar(30), --职工姓名 `Wno` varchar(10), --所在仓库 `Salary` int(11) --职工工资 ); 表样例 employee表: Eid EName Wno Salary 0010 张三 A01 3600 0011 刘勇 A01 2700 0012 张立 A01 8500 0021 刘靖 A02 2500 0022 王强 A02 5600 0023 李军 5000 0031 王林 3500 输出样例: Eid EName 0010 张三 0011 刘勇
时间: 2023-07-13 21:13:58 浏览: 164
编写并调优查询语句以优化性能最佳实践
以下是使用嵌套查询查询'A01'仓库中的职工中比'A02'任意一个职工薪水少的职工编号与姓名的SQL语句:
```
SELECT Eid, EName
FROM employee
WHERE Wno = 'A01' AND Salary < (
SELECT Salary
FROM employee
WHERE Wno = 'A02'
ORDER BY Salary DESC
LIMIT 1
);
```
这里使用了嵌套查询,首先在内部查询中查找'A02'仓库中薪水最高的职工的薪水,然后在外部查询中筛选出'A01'仓库中薪水低于该薪水的职工信息。ORDER BY子句用于按照薪水降序排序,LIMIT子句用于只返回一个结果。
阅读全文