PostgreSQL 表达式
表达式是由一个或多个的值、运算符、PostgresSQL 函数组成的。
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 文件 ),数据内容如下:
yssmxdb# 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)来查询数据:
yssmxdb=# 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 是一个数学运算表达式,实例如下:
yssmxdb=# SELECT (17 + 6) AS ADDITION ; addition ---------- 23 (1 row)
此外 PostgreSQL 还内置了一些数学函数,如:
- avg() : 返回一个表达式的平均值
- sum() : 返回指定字段的总和
- count() : 返回查询的记录总数
以下实例查询 COMPANY 表的记录总数:
yssmxdb=# SELECT COUNT(*) AS "RECORDS" FROM COMPANY; RECORDS --------- 7 (1 row)
日期表达式
日期表达式返回当前系统的日期和时间,可用于各种数据操作,以下实例查询当前时间:
yssmxdb=# SELECT CURRENT_TIMESTAMP; current_timestamp ------------------------------- 2019-06-13 10:49:06.419243+08 (1 row)