鉴于此架构:
Professor_ID
Professor_Name
Dept_ID
Salary
Dept_ID
Dept_Name
一所大学使用 2 个数据表(教授和系)来存储有关其教授以及与每个专业相关的系的数据。
编写一个查询来打印每位教授的姓名和工资:
- 教授不在艺术系工作
- 教授的薪水高于艺术系教授的最低薪水
示例输出:
Joe Smith 22066
Ken Doe 13411
Eliott Scott 19404
Scott Thompson 48299
我刚刚尝试了类似的方法,但它不起作用:
SELECT Professor_ID, Professor_Name, Dept_ID, Salary
FROM Professors p
INNER JOIN Departments d
ON p.Dept_ID = d.Dept_ID
WHERE Dept_Name != 'Art'and Salary > (SELECT MIN(Salary))
FROM Professors p
INNER JOIN Departments d
ON p.Dept_ID = d.Dept_ID
WHERE Dept_Name = 'Arts and Humanities')
最佳答案
这会给你
最终查询中标记为 ---1 的部分将为您提供非艺术系教授的所有薪水 最终查询标记为 ---2 的部分将比较第一部分中选择的教授的薪水,并使用以下查询将其与艺术教授的最低薪水进行比较:
select min(Salary) from From Professors p inner join Departments d on p.Dept_ID = d.Dept_ID where Dept_Name = 'Art'
最终查询
--- 111
select
Professor_ID,
Professor_Name,
Dept_ID,
Salary
From Professors p inner join Departments d on p.Dept_ID = d.Dept_ID
where Dept_Name != 'Art'
--- 111
--- 222
and Salary > (select min(Salary) From Professors p inner join Departments d on p.Dept_ID = d.Dept_ID where Dept_Name = 'Art')
--- 222
关于mysql - 查询大于特定院系最小值的教授和薪资,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59685780/