📚 目录

  1. 表达式概述
  2. 算术表达式
  3. 比较表达式
  4. 逻辑表达式
  5. 字符串表达式
  6. NULL 表达式
  7. 聚合表达式
  8. 参考资料

🛠️ 表达式概述

在 PostgreSQL 中,表达式 是用于计算值的组合。表达式可以由常量、列名、运算符和函数组成,并且能够返回某种数据类型的值。表达式用于 SQL 语句的各个部分,例如 SELECTWHEREORDER BY 等。


➗ 算术表达式

算术表达式用于进行数学运算,包括加法、减法、乘法、除法等。

示例:

SELECT price * quantity AS total_cost FROM orders;

此查询计算每个订单的总成本,即 pricequantity 的乘积。

其他运算:

  • +:加法
  • -:减法
  • *:乘法
  • /:除法
  • %:取余

🔍 比较表达式

比较表达式用于进行值之间的比较,结果返回布尔值(TRUEFALSE)。

示例:

SELECT name FROM employees WHERE salary > 50000;

该查询返回 salary 大于 50000 的所有员工名字。

常用比较表达式:

  • =:等于
  • !=<>:不等于
  • >:大于
  • <:小于
  • >=:大于等于
  • <=:小于等于

🧑‍💻 逻辑表达式

逻辑表达式用于组合多个条件,通常与 ANDORNOT 等运算符一起使用,结果返回布尔值。

示例:

SELECT name FROM employees WHERE salary > 50000 AND position = 'Manager';

此查询返回薪资大于 50000 且职位为 Manager 的所有员工。

常用逻辑运算符:

  • AND:两个条件都为 TRUE 时返回 TRUE
  • OR:任意一个条件为 TRUE 时返回 TRUE
  • NOT:取反运算,TRUEFALSEFALSETRUE

📝 字符串表达式

字符串表达式用于操作文本数据,常见操作有字符串连接、查找子串、替换文本等。

示例(字符串连接):

SELECT first_name || ' ' || last_name AS full_name FROM employees;

该查询将 first_namelast_name 两列连接,形成 full_name 列。

常见字符串操作:

  • ||:字符串连接
  • LIKE:匹配模式
  • ILIKE:不区分大小写的匹配模式
  • SUBSTRING():提取子串
  • CONCAT():连接多个字符串

❓ NULL 表达式

NULL 表达式用于处理空值。NULL 不等于任何值,因此常常使用专门的运算符和函数来操作。

示例(检查 NULL):

SELECT name FROM employees WHERE phone IS NULL;

该查询返回所有 phone 列值为 NULL 的员工名字。

常见 NULL 操作:

  • IS NULL:检查是否为 NULL
  • IS NOT NULL:检查是否不是 NULL
  • COALESCE():返回第一个非 NULL 的值
  • NULLIF():如果两个值相等返回 NULL

📊 聚合表达式

聚合表达式用于对数据进行汇总操作,如求和、计数、平均值等。

示例(计数):

SELECT COUNT(*) FROM employees WHERE position = 'Developer';

该查询返回职位为 Developer 的员工数量。

常用聚合函数:

  • COUNT():计数
  • SUM():求和
  • AVG():平均值
  • MIN():最小值
  • MAX():最大值

📘 参考资料