Menu
×
   ❮   
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

PostgreSQL 运算符


WHERE 子句中的运算符

我们可以在 WHERE 子句中使用不同的运算符

=等于
<小于
>大于
<=小于或等于
>=大于或等于
<>不等于
!=不等于
LIKE检查值是否匹配模式(区分大小写)
ILIKE检查值是否匹配模式(不区分大小写)
AND逻辑 AND
OR逻辑 OR
IN检查值是否在值范围内
BETWEEN检查值是否在值范围内
IS NULL检查值是否为 NULL
NOT产生负面结果,例如 NOT LIKENOT INNOT BETWEEN

等于

当您想要返回所有列等于指定值的记录时,使用 = 运算符

示例

返回所有品牌为 'Volvo' 的记录

SELECT * FROM cars
WHERE brand = 'Volvo';
运行示例 »

小于

当您想要返回所有列小于指定值的记录时,使用 < 运算符。

示例

返回所有年份小于 1975 的记录

SELECT * FROM cars
WHERE year < 1975;
运行示例 »

大于

当您想要返回所有列大于指定值的记录时,使用 > 运算符。

示例

返回所有年份大于 1975 的记录

SELECT * FROM cars
WHERE year > 1975;
运行示例 »

小于或等于

当您想要返回所有列小于或等于指定值的记录时,使用 <= 运算符。

示例

返回所有年份小于或等于 1975 的记录

SELECT * FROM cars
WHERE year <= 1975;
运行示例 »

大于或等于

当您想要返回所有列大于或等于指定值的记录时,使用 >= 运算符。

示例

返回所有年份大于或等于 1975 的记录

SELECT * FROM cars
WHERE year >= 1975;
运行示例 »

不等于

当您想要返回所有列不等于指定值的记录时,使用 <> 运算符

示例

返回所有品牌不为 'Volvo' 的记录

SELECT * FROM cars
WHERE brand <> 'Volvo';
运行示例 »

您可以使用 != 运算符获得相同的结果

示例

返回所有品牌不为 'Volvo' 的记录

SELECT * FROM cars
WHERE brand != 'Volvo';
运行示例 »

LIKE

当您想要返回所有列等于指定模式的记录时,使用 LIKE 运算符。

模式可以是绝对值,如 'Volvo',也可以包含具有特殊含义的通配符。

与 LIKE 运算符一起使用的通配符有两个

  • 百分号 % 代表零个、一个或多个字符。
  • 下划线符号 _ 代表一个字符。

示例

返回所有模型以大写字母 'M' 开头的记录

SELECT * FROM cars
WHERE model LIKE 'M%';
运行示例 »

LIKE 运算符区分大小写。


ILIKE

与 LIKE 运算符相同,但 ILIKE 不区分大小写。

示例

返回所有模型以 'm' 开头的记录

SELECT * FROM cars
WHERE model ILIKE 'm%';
运行示例 »

AND

逻辑 AND 运算符用于检查多个条件

示例

返回所有品牌为 'Volvo' 且年份为 1968 的记录

SELECT * FROM cars
WHERE brand = 'Volvo' AND year = 1968;
运行示例 »

OR

逻辑 OR 运算符用于检查多个条件中的一个为真

示例

返回所有品牌为 'Volvo' 或年份为 1975 的记录

SELECT * FROM cars
WHERE brand = 'Volvo' OR year = 1975;
运行示例 »

IN

当列值与列表中的任何值匹配时,使用 IN 运算符

示例

返回所有品牌在以下列表中的记录:('Volvo', 'Mercedes', 'Ford')

SELECT * FROM cars
WHERE brand IN ('Volvo', 'Mercedes', 'Ford');
运行示例 »

BETWEEN

当列值在指定的值范围内时,使用 BETWEEN 运算符

示例

返回所有年份在 1970 年到 1980 年之间的记录

SELECT * FROM cars
WHERE year BETWEEN 1970 AND 1980;
运行示例 »

BETWEEN 运算符包含 _from_ 和 _to_ 值,这意味着在上面的示例中,结果将包括 1970 年和 1980 年制造的汽车。


IS NULL

当列值为 NULL 时,使用 IS NULL 运算符

示例

返回所有模型为 NULL 的记录

SELECT * FROM cars
WHERE model IS NULL;
运行示例 »

NOT

NOT 运算符可以与 LIKE、ILIKE、IN、BETWEEN 和 NULL 运算符一起使用,以反转运算符的真值。

示例:NOT LIKE

返回所有品牌不以大写字母 'B' 开头的记录(区分大小写)

SELECT * FROM cars
WHERE brand NOT LIKE 'B%';
运行示例 »

示例:NOT ILIKE

返回所有品牌不以 'b' 开头的记录(不区分大小写)

SELECT * FROM cars
WHERE brand NOT ILIKE 'b%';
运行示例 »

示例: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 年制造的汽车。

示例:IS NOT NULL

返回所有模型不为 NULL 的记录

SELECT * FROM cars
WHERE model IS NOT NULL;
运行示例 »

cars 表没有 NULL 值的列,因此上面的示例将返回所有 4 行。


PostgreSQL 练习

通过练习测试自己

练习

编写正确的 SQL 语句,以选择所有 year 字段值小于 1970 的记录

SELECT * FROM cars
WHERE ;
        

开始练习


×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
[email protected]

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
[email protected]

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Copyright 1999-2024 by Refsnes Data. All Rights Reserved. W3Schools is Powered by W3.CSS.