Oracle 10.1.0.2.0でEXCEPTキーワードを使用しようとしていますが、「不明なコマンド」エラーが発生し続けます。私はグーグルで試しましたが、誰かがキーワードがマイナスであると言ったので、代わりにマイナスを使用しましたが、それでも同じエラーが発生しました。何か案が?ありがとう。
だからここに私のクエリです。コース番号が500を超えるすべてのコースに登録している学生の名前を探しています
SELECT s.name
FROM Students s
WHERE NOT EXISTS
(
SELECT c.id
FROM Courses c
WHERE c.number > 500
MINUS
SELECT e.course_id
FROM Enrollment e
WHERE e.student_id = s.id
);
Oracle MINUS
は演算子です。 SQL ServerのEXCEPT
に相当します。 これは以前の投稿です 違いを説明しています。これは簡単な例です:
SELECT a, b, c
FROM table_a
MINUS
SELECT a, b, c
FROM table_b
それでも問題が解決しない場合は、使用している完全なクエリを質問に追加してください。単純な構文エラーの可能性があります。
Oracle 20cは EXCEPT/EXCEPT ALL
キーワード。
SELECT col1, col2
FROM t1
EXCEPT
SELECT col1, col2
FROM t2;
またはEXCEPT ALL
重複を処理する場合:
SELECT col1, col2
FROM t1
EXCEPT ALL
SELECT col1, col2
FROM t2;
セット演算子は、2つのコンポーネントクエリの結果を1つの結果に結合します。
[〜#〜] except [〜#〜]最初のクエリでは選択されたが、2番目のクエリでは選択されなかったすべての個別の行
EXCEPT ALL最初のクエリで選択されたすべての行。