PostgreSQL 运算符
WHERE 子句中的运算符
我们可以在 WHERE 子句中使用不同的运算符
= | 等于 |
|---|---|
< | 小于 |
> | 大于 |
<= | 小于或等于 |
>= | 大于或等于 |
<> | 不等于 |
!= | 不等于 |
LIKE | 检查值是否匹配模式(区分大小写) |
ILIKE | 检查值是否匹配模式(不区分大小写) |
AND(与) | 逻辑与 |
OR(或) | 逻辑或 |
IN | 检查值是否在某个值范围之间 |
介于 | 检查值是否在某个值范围之间 |
IS NULL | 检查值是否为 NULL |
NOT(非) | 产生负结果,例如 NOT LIKE, NOT IN, NOT BETWEEN |
等于
当您希望返回列等于指定值的所有记录时,使用 = 运算符
小于
当您希望返回列小于指定值的所有记录时,使用 < 运算符。
大于
当您希望返回列大于指定值的所有记录时,使用 > 运算符。
小于或等于
当您希望返回列小于或等于指定值的所有记录时,使用 <= 运算符。
大于或等于
当您希望返回列大于或等于指定值的所有记录时,使用 >= 运算符。
不等于
当您希望返回列不等于指定值的所有记录时,使用 <> 运算符
使用 != 运算符会得到相同的结果
LIKE
当您希望返回列等于指定模式的所有记录时,使用 LIKE 运算符。
模式可以是像“Volvo”这样的绝对值,也可以是带有特殊含义的通配符。
通常与 LIKE 运算符一起使用两个通配符
- 百分号
%,代表零个、一个或多个字符。 - 下划线
_,代表一个单个字符。
LIKE 运算符区分大小写。
ILIKE
与 LIKE 运算符相同,但 ILIKE 不区分大小写。
AND(与)
当您想检查多个条件时,使用逻辑 AND 运算符
OR(或)
当您可以接受多个条件中只有一个为真时,使用逻辑 OR 运算符
IN
当列的值与列表中的任何值匹配时,使用 IN 运算符
示例
返回品牌在此列表中的所有记录:('Volvo', 'Mercedes', 'Ford')
SELECT * FROM cars
WHERE brand IN ('Volvo', 'Mercedes', 'Ford');
运行示例 »
介于
使用 BETWEEN 运算符检查列的值是否在指定的值范围之间
BETWEEN 运算符包含 from 和 to 值,这意味着在上述示例中,结果也将包括 1970 年和 1980 年生产的汽车。
IS NULL
使用 IS NULL 运算符检查列的值是否为 NULL
NOT(非)
NOT 运算符可以与 LIKE、ILIKE、IN、BETWEEN 和 NULL 运算符一起使用,以反转运算符的真值。
示例:NOT IN
返回品牌不在此列表中的所有记录:('Volvo', 'Mercedes', 'Ford')
SELECT * FROM cars
WHERE brand NOT IN ('Volvo', 'Mercedes', 'Ford');
运行示例 »
示例:NOT BETWEEN
返回年份不在 1970 到 1980 之间的所有记录
SELECT * FROM cars
WHERE year NOT BETWEEN 1970 AND 1980;
运行示例 »
NOT BETWEEN 运算符排除 from 和 to 值,这意味着在上述示例中,结果将不包括 1970 年和 1980 年生产的汽车。
cars 表中没有 NULL 值的列,因此上面的示例将返回所有 4 行。