MaxCompute は SEMI JOIN をサポートします。 SEMI JOIN では、右側のテーブルは結果セットに表示されず、左側のテーブルのデータをフィルタ処理するためにのみ使用されます。 サポートされている構文は次のとおりです。LEFT SEMI JOIN と LEFT ANTI JOIN。
LEFT SEMI JOIN
JOIN 条件が有効な場合は、左の表のデータが返されます。 つまり、mytable 1 の行の ID が mytable 2 のすべての ID に含まれている場合、この行は結果セットに保存されます。
例:
mytable1 aから左の SEMI に参加 mytable2 b a.id = b.id を選択します。
mytable 1 の ID が mytable 2 の ID に現れると、mytable 1 のデータのみが返されます。
LEFT ANTI JOIN
JOIN 条件が無効な場合は、左の表のデータが返されます。 つまり、mytable1の行のIDがmytable2のどのIDにも現れない場合、この行は結果セットに格納されます。
例:
mytable 1 から左の ANTI JOIN mytable 2 を選択します。a.id = b.id;
mytable 1 の ID が mytable 2 の ID に表示されない場合、mytable 1 のデータのみが返されます。