例: 内部結合の使用

航空会社手荷物追跡アプリケーションで使用される表の内部結合のいくつかの例を次に示します。

例6-123 すべての乗客の航空券番号、乗客名および手荷物の詳細のフェッチ

SELECT a.ticketNo, b.fullName, c.bagArrivalDate FROM ticket a, ticket.passengerInfo b,
      ticket.bagInfo c WHERE a.ticketNo = b.ticketNo AND b.ticketNo=c.ticketNo
説明: これは、3つの表(つまり、親表ticket、および兄弟表passengerInfobagInfo)の内部結合の例です。問合せは、すべての乗客の航空券番号および手荷物の到着日を返します。
出力:
{"ticketNo":1762324912391,"fullName":"Elane Lemons","bagArrivalDate":"2019-03-15T10:13:00.0000Z"}
{"ticketNo":1762355527825,"fullName":"Doris Martin","bagArrivalDate":"2019-03-22T10:17:00.0000Z"}
{"ticketNo":1762344493810,"fullName":"Adam Phillips","bagArrivalDate":"2019-02-01T16:13:00.0000Z"}
{"ticketNo":1762392135540,"fullName":"Adelaide Willard","bagArrivalDate":"2019-02-15T21:21:00.0000Z"}
{"ticketNo":1762376407826,"fullName":"Dierdre Amador","bagArrivalDate":"2019-03-07T13:51:00.0000Z"}

5 rows returned

例6-124 手荷物が最後に確認されたステーションが「MEL」である乗客の名前のフェッチ

SELECT a.fullName FROM ticket.passengerInfo a, ticket.bagInfo b WHERE a.ticketNo = b.ticketNo AND b.lastSeenStation = "MEL"
説明: これは、兄弟表passengerInfoおよびbagInfoの内部結合の例です。「MEL」ステーションで手荷物が最後に確認された乗客の名前が返されます。
出力:
{"fullName":"Adam Phillips"}

1 row returned

例6-125 フライト・ルートの目的地が「MEL」である乗客の名前のフェッチ

SELECT a.fullName FROM ticket.passengerInfo a, ticket.bagInfo.flightlegs b WHERE a.ticketNo =
      b.ticketNo AND b.fltRouteDest = "MEL"
説明: これは、祖先と子孫の関係にない2つの表passengerInfoflightlegsの内部結合です。
出力:
{"fullName":"Adam Phillips"}

1 row returned