左外部結合の概要

左外部結合(LOJ)は、結合句を指定できる結合操作の1つです。最初の(左の)表の一致しない行は保持され、2番目の(右の)表のNULL行と結合されます。つまり、右表に一致する行を持たないすべての左の行は、右の行のかわりにNULL値と組み合せて結果に表示されます。

LOJでは、結果セット内のフィールドの順序は常にトップダウンになります。つまり、結果セット内の出力の順序は、常に祖先表から最初に出力され、次に子孫表から出力されます。これは、結合の順序に関係なく当てはまります。

左外部結合の特性:
  • 同じ階層内の複数の表を問い合せます
  • ANSI-SQL標準です
  • 兄弟表の結合はサポートされません

例のとおりに操作する場合は、スクリプトparentchildtbls_loaddata.sqlをダウンロードして、次に示すように実行します。このスクリプトにより、例で使用する表が作成され、表にデータがロードされます。

KVSTOREまたはKVLiteを起動し、SQL.shellを開きます。
 java -jar lib/kvstore.jar kvlite -secure-config disable
 java -jar lib/sql.jar -helper-hosts localhost:5000 -store kvstore
parentchildtbls_loaddata.sqlには、次の内容が含まれています:
### Begin Script ###
load -file parentchild.ddl
import -table ticket  -file ticket.json
import -table ticket.bagInfo  -file bagInfo.json
import -table ticket.passengerInfo  -file passengerInfo.json
import -table ticket.bagInfo.flightLegs  -file flightLegs.json
### End Script ###
loadコマンドを使用して、スクリプトを実行します。
load -file parentchildtbls_loaddata.sql