SELECT 句¶
SELECT
句では、 FROM
句で指定したリレーションから取得する属性を指定します。
SELECT
句で 文字 *
を指定している場合、クエリ対象のビューにあるすべての属性が投影されます。この場合、結果での列の順序は、ビューの作成に使用する CREATE VIEW
ステートメントまたは CREATE TABLE
ステートメントに記述した各列の順序になります。
取得した列に別名を定義することもできます。これにより、どの属性の名前も変更できます。
派生属性の場合 (「 派生属性 」を参照)、別名を指定しないと、Virtual DataPort によって新しい属性の名前が自動的に生成されます。
クエリとビューでは、2 つのフィールドに同じ名前を指定することはできません。したがって、(別名を使用して) 名前を変更する必要があります。
DISTINCT
修飾子を使用できます。その場合は、重複しているタプルがすべて結果から削除されます。
次のように、簡潔な boolean 式を投影できます。
field = 'value'
または
field_1 = field_2
派生属性¶
SELECT
句では派生属性を指定できます。これらの属性は、他の属性の関数、定数、および値を使用した式を評価することによって作成されます。
Virtual DataPort でサポートされている関数の説明については、「 条件と派生属性の関数 」を参照してください。また、各関数の詳しい使用例については、『 関数 』を参照してください。
派生属性の関数を使用した例を以下にいくつか示します。以下のクエリでは、 emp
ビューの salary
列の値に 1000
を加算した結果を収めた newSalary
列を取得します。
SELECT SUM(1000, salary) newSalary
FROM emp;
以下の例では、ネスト化した関数をパラメータとして使用する方法を示しています。
SELECT NAME, SUM(SALARY, DIV(SALARY,1000)) salaries
FROM emp;