Sql Oracle缺少括号错误

Sql Oracle缺少括号错误,sql,oracle,parentheses,Sql,Oracle,Parentheses,这是我的问题 SELECT S.sid, S.sname, M.major FROM Student S, Major M WHERE NOT EXISTS( (SELECT C.cno FROM Courses C WHERE S.sid = M.sid AND M.dname = C.dname) E

这是我的问题

SELECT S.sid,
           S.sname,
           M.major
FROM Student S,
     Major M
     WHERE NOT EXISTS(
               (SELECT C.cno
                FROM Courses C
                WHERE S.sid = M.sid
                  AND M.dname = C.dname) EXCEPT
               (SELECT E.cno
                FROM Enroll E
                WHERE S.sid = M.sid
                  AND S.sid = E.sid
                  AND M.dname=E.dname))

为什么我得到一个无效的SQL:ORA-00907:在它们排列时缺少右括号错误?

除外
是一个SQLServer子句,在oracle
中,减号用于相同的:
试试这个:

SELECT S.sid,
     S.sname,
     M.major
FROM Student S,
     Major M
WHERE NOT EXISTS(
     (SELECT C.cno FROM Courses C WHERE S.sid = M.sid AND M.dname = C.dname
     )
MINUS
     (SELECT E.cno
     FROM Enroll E
     WHERE S.sid = M.sid
      AND s.sid  = e.sid
      and m.dname=e.dname
     ));

除了这个意义上的
?如果我猜对了,你可以用
减号
子句