5.6.4 <FROM句>

ここでは,<FROM句>の形式と規則について説明します。

<FROM句>には,検索対象になる一つまたは複数のDMAクラスを指定します。複数のDMAクラスを検索対象に指定する場合には,結合条件も指定できます。

edmSQLでは,結合方法として,次の方法が使用できます。

<この項の構成>
(1) <FROM句>の形式
(2) <検索対象>についての規則
(3) <結合された検索対象>についての規則
(4) <条件指定結合>についての規則
(5) <結合条件>についての規則
(6) <結合種別>についての規則
(7) <FROM句>全体についての規則

(1) <FROM句>の形式

<FROM句> ::= FROM <検索対象>
<検索対象> ::=  <検索対象参照リスト>
       |<結合された検索対象>
<検索対象参照リスト> ::= <検索対象参照>
             〔{ <コンマ> <検索対象参照> }...〕
<検索対象参照> ::= <クラス名> 〔<相関名>〕
 
<結合された検索対象> ::= <条件指定結合>
<条件指定結合> ::= <検索対象一次子> 〔 <結合種別> 〕
          JOIN <検索対象参照> <結合指定>
 
<検索対象一次子> ::= <検索対象参照>
            |<結合された検索対象>
            |<左括弧><結合された検索対象><右括弧>
 
<結合指定> ::= <結合条件>
<結合条件> ::= ON <検索条件>
 
<結合種別> ::= INNER
       |<外部結合種別> 〔 OUTER 〕
<外部結合種別> ::= LEFT

(2) <検索対象>についての規則

<検索対象>には<検索対象参照リスト>を指定します。<検索対象参照リスト>として<コンマ>で区切った<検索対象参照>を指定すると,それぞれの<検索対象参照>は暗黙的に結合されて,検索対象として扱われます。

検索対象を暗黙的に結合した場合は,結合条件を<WHERE句>に指定することで,内部結合を指定した場合と同じ結合が表現できます。<WHERE句>に結合条件を指定しない場合は,指定したDMAクラスの直積空間が検索の対象になります。

(3) <結合された検索対象>についての規則

<結合された検索対象>は,複数の検索対象(DMAクラス)を明示的に結合種別と結合条件を指定して結合する場合に指定します。

(4) <条件指定結合>についての規則

(5) <結合条件>についての規則

<結合条件>に指定するプロパティには,その<結合条件>を含む<検索対象一次子>および<検索対象>で指定しているDMAクラスのプロパティ,またはその<問い合わせ指定>の外側の検索対象のDMAクラスのプロパティを指定してください。

(6) <結合種別>についての規則

(7) <FROM句>全体についての規則