PostgreSQL 式
式は1つ以上の値、演算子、PostgreSQL関数から構成されます。
PostgreSQLの式は数式のようなもので、クエリ文に適用して、データベース内の指定条件に一致する結果セットを検索することができます。
構文
SELECT文の構文形式は次のとおりです:
SELECT column1, column2, columnN FROM table_name WHERE [CONDITION | EXPRESSION];
PostgreSQLの式にはさまざまなタイプがあり、これから説明します。
ブール式
ブール式は、指定された条件に基づいてデータを読み取ります:
SELECT column1, column2, columnN FROM table_name WHERE SINGLE VALUE MATCHTING EXPRESSION;
COMPANY テーブルを作成します(COMPANY SQL ファイルをダウンロード)、データ内容は以下のとおりです:
サンプルdb# select * from COMPANY; id | name | age | address | salary ----+-------+-----+-----------+-------- 1 | Paul | 32 | California| 20000 2 | Allen | 25 | Texas | 15000 3 | Teddy | 23 | Norway | 20000 4 | Mark | 25 | Rich-Mond | 65000 5 | David | 27 | Texas | 85000 6 | Kim | 22 | South-Hall| 45000 7 | James | 24 | Houston | 10000 (7 rows)
以下ではブール式(SALARY=10000)を使用してデータをクエリします:
サンプルdb=# SELECT * FROM COMPANY WHERE SALARY = 10000; id | name | age | address | salary ----+-------+-----+----------+-------- 7 | James | 24 | Houston | 10000 (1 row)
数値式
数値式は、クエリ文での数学演算によく使用されます:
SELECT numerical_expression as OPERATION_NAME [FROM table_name WHERE CONDITION] ;
numerical_expressionは数学演算式です。実例は以下のとおりです:
サンプルdb=# SELECT (17 + 6) AS ADDITION ;
addition
----------
23
(1 row)
さらに、PostgreSQLにはいくつかの数学関数が組み込まれています。例:
- avg() : 式の平均値を返します
- sum() : 指定したフィールドの合計を返します
- count() : クエリのレコード総数を返します
以下の例は COMPANY テーブルのレコード総数をクエリします:
サンプルdb=# SELECT COUNT(*) AS "RECORDS" FROM COMPANY;
RECORDS
---------
7
(1 row)
日付式
日付式は現在のシステムの日付と時刻を返し、さまざまなデータ操作に使用できます。以下の例は現在時刻をクエリします:
サンプルdb=# SELECT CURRENT_TIMESTAMP;
current_timestamp
-------------------------------
2019-06-13 10:49:06.419243+08
(1 row)
その他の拡張