我有一個關於數據庫系統中MINUS操作的問題。如果我想執行MINUS操作,是否強制兩個表應具有相同類型的主鍵/複合鍵?在SQL中使用查詢執行MINUS操作
我正在執行MINUS操作使用普通查詢,而不是操作員直接。所以爲了做到這一點,僅僅比較兩個表中的主鍵並執行MINUS操作就足夠了嗎?或者我需要比較行中的所有值嗎?
我有一個關於數據庫系統中MINUS操作的問題。如果我想執行MINUS操作,是否強制兩個表應具有相同類型的主鍵/複合鍵?在SQL中使用查詢執行MINUS操作
我正在執行MINUS操作使用普通查詢,而不是操作員直接。所以爲了做到這一點,僅僅比較兩個表中的主鍵並執行MINUS操作就足夠了嗎?或者我需要比較行中的所有值嗎?
所以爲了做到這一點,僅僅比較兩個表中的主鍵並執行MINUS操作就足夠了嗎?或者我需要比較行中的所有值嗎?
MINUS
operation in Oracle將返回「所有不同的行被第一個查詢選中但不是第二個」所以它與主鍵無關 - 它將查看所有列中的值。
如果您只是想比較主鍵,那麼帶有子查詢的NOT IN
或NOT EXISTS
運算符可能更實用。
因此,如果我們單獨比較主鍵(然後獲取相應的行)而不是整行中的值,結果是否仍然相同? – Sri
不一定 - 它取決於所有其他列是否相等,因爲主鍵相同。 –
減號不是標準的SQL。標準SQL terrm是EXCEPT。我假設你正在使用Oracle?如果你包含你的表格和示例數據,這個問題會更好。 –