7.18.1 行値構成子の指定形式および規則
行値構成子には,順序付けられた値の並びから構成される行を指定します。
- 〈この項の構成〉
(1) 指定形式
行値構成子::=(行値構成子要素〔,行値構成子要素〕…) 行値構成子要素::=値式
(2) 指定形式の説明
- 行値構成子要素:
-
行値構成子には,1つ以上の行値構成子要素を値式の形式で指定します。値式については,「7.21 値式」を参照してください。
行値構成子の指定例を次に示します。
(3) 規則
-
行値構成子に指定できる行値構成子要素の数は,最大4,000個です。
(4) 例題
- 例題1(表値構成子に行値構成子を指定した例)
-
販売履歴表(SALESLIST)を表値構成子から導出して検索します。
SELECT "USERID","PUR-CODE","PUR-NUM" FROM (VALUES('U001','P001',5) ,('U001','P002',3) ,('U002','P001',1) ) "SALESLIST"("USERID","PUR-CODE","PUR-NUM")
下線部分が行値構成子の指定です。
実行結果の例
- 例題2(比較述語に行値構成子を指定した例)
-
販売履歴表(SALESLIST)から,顧客ID(USERID)がU001かつ商品コード(PUR-CODE)がP001の行を検索します。
SELECT "USERID","PUR-CODE","PUR-NUM" FROM "SALESLIST" WHERE ("USERID","PUR-CODE") = ('U001','P001')
下線部分が行値構成子の指定です。
上記のSELECT文を実行した場合,検索結果は次のようになります。
- 例題3(IN述語に行値構成子を指定した例)
-
販売履歴表(SALESLIST)から,次の条件と一致する行を検索します。
-
顧客ID(USERID)がU001かつ商品コード(PUR-CODE)がP001
-
顧客ID(USERID)がU002かつ商品コード(PUR-CODE)がP001
SELECT "USERID","PUR-CODE","PUR-NUM" FROM "SALESLIST" WHERE ("USERID","PUR-CODE") IN (('U001','P001'), ('U002','P001'))
下線部分が行値構成子の指定です。
上記のSELECT文を実行した場合,検索結果は次のようになります。
-