EXCEPT
CoddyのSQLジャーニー「応用」セクションの一部 — レッスン 18/27。
EXCEPT は、最初の結果セットには含まれるが、2番目の結果セットには含まれない行を返します。集合の差(差集合)として考えてください。
SELECT email FROM newsletter_subs
EXCEPT
SELECT email FROM premium_usersプレミアムユーザーではないすべてのニュースレター購読者。これは、不足している行を見つけるのに役立ちます:誰が登録したのに支払っていないのか?先月は注文されたが、今月は注文されていない製品はどれか?
UNION や INTERSECT と同様に、重複を削除し、両側で一致する列を必要とします。
チャレンジ
簡単利用可能なテーブルとカラム:
<strong>last_month</strong>:<strong>product</strong><strong>this_month</strong>:<strong>product</strong>
product カラムを1つ返してください。内容は、先月(last_month)には販売されたが、今月(this_month)には販売されていないすべての製品です。アルファベット順に並べ替えてください。
チートシート
EXCEPT は、最初の結果セットに含まれ、2番目の結果セットには含まない行を返します(集合の差)。重複は自動的に削除されます。
SELECT email FROM newsletter_subs
EXCEPT
SELECT email FROM premium_users両方の側で、列の数が同じであり、型に互換性がある必要があります。
自分で試してみよう
-- last_month にはあるが this_month にはない製品
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。