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 行。