这是我输入的内容,我必须用“NOT IN”替换EXCEPT。所以这解决了一个错误,但现在它返回超过1行。我不确定那是多么糟糕。我刚刚开始弄清楚MySQL并尝试了本书中的例子。
SELECT S.sname
FROM suppliers S
WHERE (
(SELECT P.pid FROM parts P) NOT IN
(SELECT C.pid FROM catalog C WHERE C.sid = S.sid)
);
ERROR 1242 (21000): Subquery returns more than 1 row
答案 0 :(得分:0)
SELECT S.sname
FROM suppliers S
WHERE NOT EXISTS(
SELECT P.pid FROM parts P, catalog C
WHERE P.pid = C.pid AND C.sid = S.sid)
);