鉴于此架构:
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/