バージョン 6.3.3
 —  ステートメント  —

スカラー式

 

+

factor

 

  - (scalar-expression)  
scalar-expression     scalar-operator scalar-expression

このドキュメントでは、次のトピックについて説明します。


スカラー式

scalar-expression は、ファクタまたはスカラー演算子を含む他のスカラー式で構成されます。

参照の優先順位に関して、スカラー式は次のように処理されます。

Top of page

スカラー演算子

+

-
*
/

scalar-operator とは上記のいずれかの演算子です。演算子 "-" および "/" を使用する場合は、先行する演算子との間を最低 1 つの空白で区切る必要があります。

Top of page

ファクタ

atom

column-reference
aggregate-function
special-register

factor は、上図のいずれかの項目で構成されます。これらの項目について次に説明します。

原子

parameter

constant

 atom は、parameter または constant です。「基本構文項目」も参照してください。

列参照

table-name

column-name
correlation-name

column-reference は、オプションで table-name または correlation-name(「基本構文項目」も参照)で修飾された列名です。 修飾された名前は修飾されない名前よりも明確であり、ときには修飾が必要となります。

注意:
このような場合には、テーブル名を認可 ID で明示的に修飾しないでください。 テーブル名を修飾するときは、代わりに相関名を使用してください。

table-name または correlation-name で列を参照する場合、列は対応するテーブル内に含まれている必要があります。 table-namecorrelation-name も指定されていない場合、各列は FROM 節に指定されたテーブルの 1 つに存在している必要があります。

集積関数

COUNT

(*)

 
(DISTINCT column-reference)  

AVG

       
MAX

(DISTINCT column-reference)

 
MIN ([ALL] scalar-expression)  
SUM        

SQL は基本的な取得機能拡張のために多くの特別関数を提供しています。 現在有効で Natural がサポートする、いわゆる SQL 集積関数は次のとおりです。

AVG 列の平均値
COUNT 列の値の個数
MAX 列の最大値
MIN 列の最小値
SUM 列の合計値

COUNT(*) は別にして、上記の関数は引数(つまり、単一の列または scalar-expression)のスカラー値の集合を処理します。その結果としてスカラー値を生成します。

例:

DEFINE DATA LOCAL 
1 AVGAGE   (I2) 
END-DEFINE 
... 
SELECT AVG (AGE) 
  INTO AVGAGE 
  FROM SQL-PERSONNEL 
  ...

関数が適用される前に余分な重複値を削除するため、一般的に、引数の前にキーワード DISTINCT をオプションで指定できます。

DISTINCT を指定する場合、引数は単一の列名にする必要があります。DISTINCT を指定しない場合、引数は一般的な scalar-expression の構成にすることもできます。

重複値を削除せずにテーブルのすべての行をカウントする特別関数 COUNT(*)DISTINCT を指定することはできません。

特別レジスタ

USER

special-register に対する参照はスカラー値を返します。

Top of page