我需要找到飞机的名字,以便所有经认证的飞行员都能挣到6万多美元。
我写的问题:
select aname
from employee join certified
on employee.eid=certified.eid
join aircraft
on certified.aid=aircraft.aid
where salary>60000;
但是如果有任何飞行员的薪水超过60000,它会返回aname,困难的是我需要找到如果所有飞行员的薪水都超过60000,那么aname就会显示出来。
最佳答案
你可以寻找相反的情况-没有飞行员的收入低于60000:
SELECT
aname
FROM
Aircraft A
WHERE
NOT EXISTS
(
SELECT *
FROM Certified C
INNER JOIN Employee E ON
E.eid = C.eid AND
E.salary < 60000
WHERE C.aid = A.aid
)