在本教學中,您將學習如何使用Oracle MINUS
運算子從一個結果集中減去另一個結果集。
Oracle MINUS
運算子比較兩個查詢,並返回第一個查詢中但不是第二個查詢輸出的行。 換句話說,MINUS
運算子從一個結果集中減去另一個結果集。
以下說明Oracle MINUS
運算子的語法:
SELECT
column_list_1
FROM
T1
MINUS
SELECT
column_list_2
FROM
T2;
與UNION和INTERSECT操作符類似,上面的查詢必須符合以下規則:
假設第一個查詢T1
表返回包含1
,2
和3
的結果集。第二個查詢T2
表返回包含2
,3
和4
的結果集。
下圖說明了T1
和T2
的MINUS
運算結果:
請參閱範例資料庫中的以下contacts
和employees
表的ER圖結構:
以下語句從查詢中返回不同的姓氏(last_name
),MINUS
運算子去除那些在右側查詢結果中行記錄。
請參閱以下 products
和 inventories
表的定義:
以下語句從products
表中返回產品ID的列表,但不存在於inventories
表中:
SELECT
product_id
FROM
products
MINUS
SELECT
product_id
FROM
inventories;
執行上面查詢語句,得到以下結果 -
在本教學中,您已學習如何使用Oracle MINUS
運算子來比較兩個查詢,並返回第一個查詢中不同於第二個查詢輸出的行。