5.6 問い合わせ式の構文規則

問い合わせは,<問い合わせ文>(SELECT文)によって表現します。<問い合わせ文>には,SELECT句,FROM句,WHERE句およびORDER BY句を指定します。最も基本的な<問い合わせ文>は,SELECT句とFROM句から構成されます。

SELECT句には,検索結果として取得する項目を指定します。

FROM句およびWHERE句は,検索対象式として指定します。FROM句には,検索対象になるDMAクラスを指定します。WHERE句には,検索条件を指定します。検索条件は,述語で表現します。述語については,「5.8 述語の構文規則」を参照してください。なお,WHERE句には,副問い合わせも指定できます。

ORDER BY句には,検索結果として取得した集合をソートするかどうかを指定します。ORDER BY句については,「5.10 データ操作の構文規則」を参照してください。

形式

!! <問い合わせ文>の形式
<問い合わせ文> ::= <問い合わせ式> 〔 <ORDER BY句> 〕
<問い合わせ式> ::= <問い合わせ指定>
         |<左括弧> <問い合わせ式> <右括弧>
 
!! <問い合わせ指定>の形式
<問い合わせ指定> ::= SELECT 〔 <集合指定子> 〕
          <選択項目の並び> <検索対象式>
<選択項目の並び> ::= <アスタリスク>
          |<選択項目> 〔 { <コンマ> <選択項目> }... 〕
<選択項目> ::= <一次子>
<集合指定子> ::= DISTINCT|ALL
 
!! <検索対象式>の形式
<検索対象式> ::= <FROM句>
        〔 <WHERE句> 〕
 
!! <FROM句>の形式
<FROM句> ::= FROM <検索対象>
<検索対象> ::=  <検索対象参照リスト>
         <結合された検索対象>
<検索対象参照リスト> ::=<検索対象参照>
            〔 { <コンマ> <検索対象参照> }... 〕
<検索対象参照> ::= <クラス名> 〔<相関名>〕
 
<結合された検索対象> ::= <条件指定結合>
<条件指定結合> ::= <検索対象一次子> 〔 <結合種別> 〕
        JOIN <検索対象参照> <結合指定>
 
<検索対象一次子> ::= <検索対象参照>
            |<結合された検索対象>
            |<左括弧><結合された検索対象><右括弧>
 
<結合指定> ::= <結合条件>
<結合条件> ::= ON <検索条件>
 
<結合種別> ::= INNER
       |<外部結合種別> 〔 OUTER 〕
<外部結合種別> ::= LEFT
 
!! <WHERE句>の形式
<WHERE句> ::= WHERE <検索条件>
 
!! <GROUP BY句>の形式
<GROUP BY句> ::= GROUP BY <グループ化項目の並び>
<グループ化項目の並び> ::= <グループ化項目>
           [ { <コンマ> <グループ化項目> }... ]
<グループ化項目> ::= <一次子>
 
!! <HAVING句>の形式
<HAVING句> ::= HAVING <検索条件>

!! <副問い合わせ>の形式
<副問い合わせ> ::=<左括弧> <問い合わせ式> <右括弧>

検索条件については,「5.8 述語の構文規則」を参照してください。

<この節の構成>
5.6.1 <問い合わせ文>
5.6.2 <問い合わせ指定>
5.6.3 <検索対象式>
5.6.4 <FROM句>
5.6.5 <WHERE句>
5.6.6 <副問い合わせ>
5.6.7 GROUP BY句
5.6.8 HAVING句