簡體   English   中英

Oracle 中的 EXCEPT 關鍵字

[英]EXCEPT keyword in Oracle

我正在嘗試在 Oracle 10.1.0.2.0 中使用 EXCEPT 關鍵字,但一直收到錯誤“未知命令”。 我試過谷歌搜索,有人說關鍵字是 MINUS,所以我改用了 MINUS,但我仍然遇到同樣的錯誤。 任何的想法? 謝謝。

所以這是我的查詢。 我正在查找注冊所有課程且課程編號 > 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;

4.6 設置運算符

集合運算符將兩個組件查詢的結果合並為一個結果。

EXCEPT第一個查詢但不是第二個查詢選擇的所有不同行

EXCEPT ALL第一個查詢選擇的所有行,但不是第二個,包括重復項

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM