NOT EXISTS :
table1のレコードからtable2に存在する情報をKEYで比較して抽出対象外にする方法
SELECT t1.id FROM dataset.table AS t1 WHERE NOT EXISTS ( SELECT id FROM dataset.table AS t2 WHERE t1.id = t2.id )
EXCEPT DISTINCT :
table1のレコードからtable2に存在する情報を全項目で比較して抽出対象外にする方法
SELECT * FROM `dataset.table1` EXCEPT DISTINCT SELECT * FROM `dataset.table2`
EXCEPT DISTINCTは他のSQLだとoracleとかだとMINUS、mysqlなどだとEXCEPTという感じで使えましたが、bigqeuryの場合は、 EXCEPTとDISTINCTになります。
利用用途は、同じテーブルで片方は履歴用テーブル(バックアップなど)とデイリーで作成する情報を比較して不正なデータを探す。といった場合などに使ったりします。
▼応用的な使い方として、新旧テーブルのそれぞれの項目差分のみを抽出する方法もあります