EXCEPT構文は、2つのSELECT文の分析結果を組み合わせるために使用され、最初の結果セットに存在し、2番目の結果セットに存在しない行のみを返します。
構文形式
* | SELECT [列名(KEY)] FROM table1 EXCEPT SELECT [列名(KEY)] FROM table2
各SELECT文の分析結果は、組み合わせるために、同じ数の列と同じフィールドタイプを持つ必要があります。
SELECT結果に重複行が含まれる場合、EXCEPTはそのうちの1行のみを保持します。
構文例
1列のみの2つのテーブルを結合し、テーブル1に存在しテーブル2に存在しない行を取得します。1つ目のテーブルは2行あり、値はそれぞれ42、13です。2つ目のテーブルは1行のみで、値は13です。
* | SELECT * FROM (VALUES 42,13)
EXCEPT
SELECT * FROM (VALUES 13)
結果を返します: