

EXCEPTは左側の結果から右側の結果を除外し、重複を排除した差集合を返します。
EXCEPTは重複を排除するため、同じ値が複数あっても1回だけ表示される点を理解しましょう。
(SELECT 仕入先コード FROM 商品) EXCEPT (SELECT 仕入先コード FROM 当月商品仕入合計)
K01, K02, K03, K04、当月商品仕入合計表は
K01, K03, K05です。
K01と
K03なので、差集合は
K02と
K04となり、重複なしで表示されるため選択肢エが正解です。
EXCEPTは単純に差を取るだけでなく、結果の重複を排除するため、重複した値が複数回表示されることはありません。
K01, K02, K03, K04)。
K01, K03, K05)。
K02と
K04の2つだけになる。
K01や
K03が含まれているが、これは両方の表に存在するため差集合には含まれません。
K01と
K03のみで、これは共通部分であり差集合ではありません。
K02と
K04が重複しているが、
EXCEPTは重複を排除するため誤りです。
K02と
K04が1回ずつ表示されており、正しい差集合を表しています。
EXCEPTは集合演算の一つで、左側のクエリ結果から右側のクエリ結果を差し引きます。
UNIONや
INTERSECTと同様に重複を排除するため、結果セットは常にユニークな値になります。
EXCEPT ALLをサポートするDBMSでは重複を考慮した差集合も可能ですが、標準SQLでは
EXCEPTが一般的です。
EXCEPTと
NOT INの違いは何ですか?
EXCEPTは2つの結果セットの差集合を返し、重複を排除します。
NOT INは特定の値を除外する条件式で、重複の扱いは異なります。
EXCEPTはすべてのDBMSで使えますか?
LEFT JOINや
NOT EXISTSを使うことがあります。

\ せっかくなら /
データベーススペシャリストを
クイズ形式で学習しませんか?
すぐに利用可能!