菜单
×
   ❮   
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(与)逻辑与
OR(或)逻辑或
IN检查值是否在某个值范围之间
介于检查值是否在某个值范围之间
IS NULL检查值是否为 NULL
NOT(非)产生负结果,例如 NOT LIKE, NOT IN, NOT 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 运算符检查列的值是否在指定的值范围之间

示例

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

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

BETWEEN 运算符包含 fromto 值,这意味着在上述示例中,结果也将包括 1970 年和 1980 年生产的汽车。


IS NULL

使用 IS NULL 运算符检查列的值是否为 NULL

示例

返回型号为 NULL 的所有记录

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

NOT(非)

NOT 运算符可以与 LIKEILIKEINBETWEENNULL 运算符一起使用,以反转运算符的真值。

示例: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 运算符排除 fromto 值,这意味着在上述示例中,结果将不包括 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 ;
        

开始练习


×

联系销售

如果您想将 W3Schools 服务用于教育机构、团队或企业,请发送电子邮件给我们
sales@w3schools.com

报告错误

如果您想报告错误,或想提出建议,请发送电子邮件给我们
help@w3schools.com

W3Schools 经过优化,旨在方便学习和培训。示例可能经过简化,以提高阅读和学习体验。教程、参考资料和示例会不断审查,以避免错误,但我们无法保证所有内容的完全正确性。使用 W3Schools 即表示您已阅读并接受我们的使用条款Cookie 和隐私政策

版权所有 1999-2024 Refsnes Data。保留所有权利。W3Schools 由 W3.CSS 提供支持