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 のデータのみが返されます。