[英]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;
集合運算符將兩個組件查詢的結果合並為一個結果。
EXCEPT第一個查詢但不是第二個查詢選擇的所有不同行
EXCEPT ALL第一個查詢選擇的所有行,但不是第二個,包括重復項
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.