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)
その他の拡張