2013-03-16 90 views
9

我想在Oracle 10.1.0.2.0中使用EXCEPT關鍵字,但不斷收到錯誤'未知命令'。我試着用google搜索,有人說關鍵字是MINUS,所以我用了MINUS,但我仍然得到相同的錯誤。 有什麼想法? 謝謝。EXCEPT關鍵字在Oracle中

所以這裏是我的查詢。 我發現學生誰在所有的課程,課程數量> 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 
); 
+0

你能給我們提供更多關於你想寫的查詢的信息嗎?也許有另一種方法來構建它? – Aiias 2013-03-16 02:50:57

+0

@Aiaias肯定有其他的方式來寫它,但我試圖使用EXCEPT/MINUS。 – 0x56794E 2013-03-16 02:52:32

回答

16

甲骨文MINUS是操作員錄取的名稱;它相當於SQL Server中的EXCEPTHere is a previous post解釋了區別。這裏有一個簡單的例子:

SELECT a, b, c 
FROM table_a 
MINUS 
SELECT a, b, c 
FROM table_b 

如果您仍然有問題,請將您正在使用的完整查詢添加到您的問題;這可能是一個簡單的語法錯誤。

+0

OOh!我找出了我的查詢出了什麼問題。實際上沒有任何錯誤,除了sqlplus似乎不喜歡我在MINUS關鍵字前後放置的空行。 – 0x56794E 2013-03-16 03:52:49

+0

太搞笑了!我自己並沒有使用太多的sqlplus,所以這也難倒了我。 – BellevueBob 2013-03-16 04:10:02

+0

夥計們,重複的事情呢?例如:'a','b','b'減去'a','b'我會得到'b'結果嗎? – 2016-01-27 13:11:40