SQLの結合と同じ操作を複合イベント処理言語ではイベントストリームに対して記述することができます。イベントストリームの他、名前付きウィンドウのデータを結合することができます。
構文:
... from イベントストリーム定義 [as 名前] [unidirectional]
((left|right|full) outer | inner) join イベントストリーム定義 [as 名前] [unidirectional]
on プロパティ = プロパティ [and プロパティ = プロパティ] [and ...]
[ ((left|right|full) outer | inner) join イベントストリーム定義 on ...] ...
結合は、left outer join、right outer join、full outer join、inner joinの指定ができます。on句により、各イベントストリームを結合するプロパティを指定します。
また、イベントストリーム定義をコンマ(,)でつなぐことによってもinner joinを実行できます。この場合はon句の指定は必要なく、where句で条件を指定することができます。
結合する各イベントストリームには、データウィンドウビューまたは他のビューを指定する必要があります。unidirectional指定したイベントストリーム、名前付きウィンドウにはビューを指定する必要はありません。
通常、from句で結合するイベントストリームのうちどのイベントストリームにイベントが到着しても結合が実行されます。unidirectionalキーワードを指定することによって、そのイベントストリームにイベントが到着したときだけ結合が実行されることになります。unidirectionalを指定できるイベントストリームは1つだけです。