mysql - 如何编写这个复杂的SQL查询?-LMLPHP
mysql - 如何编写这个复杂的SQL查询?-LMLPHP
我需要找到飞机的名字,以便所有经认证的飞行员都能挣到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
    )

10-01 23:24