17.10 - 例: 従業員の昇給の決定 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQL関数、式、および述部

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Release Date
2021年7月
Content Type
プログラミング リファレンス
Publication ID
B035-1145-171K-JPN
Language
日本語 (日本)

部門600のすべての従業員の給与を勤続年数に比例して200ドルずつ昇給する予定(最高で月額2500ドルまで)と想定します。

該当者と新しい給与を決定するには、次の文になります。

   SELECT Name, (Salary+(YrsExp*200))/12 AS Projection
   FROM Employee 
   WHERE Deptno = 600 
   AND Projection < 2500 ;

この文は、次の応答を戻します。

   Name        Projection
   --------    ----------
   Newman P       2483.33

この文は括弧を使って、まず演算YrsExp * 200を行ないます。次にその結果がSalaryに加算され、合計が12で割られています。

YrsExp * 200を囲む括弧は厳密には必要ではありませんが、Salary + (YrsExp * 200)を囲む括弧は必要です。それは、この式で括弧が使用されなかった場合、演算YrsExp * 200は12で割られ、その結果がSalaryに加算されるので、誤った値を生じるからです。

この例の句AS Projectionは、算術式の(Salary + (YrsExp * 200)/12)をProjectionに関連付けます。AS句の使用によって、式全体を参照するのにWHERE句内で名前Projectionを使用することになります。

結果は、1000と100の位を区切るカンマなしで書式化されます。