📜  PostgreSQL-WHERE子句(1)

📅  最后修改于: 2023-12-03 15:18:39.465000             🧑  作者: Mango

PostgreSQL WHERE子句

介绍

在 PostgreSQL 数据库中,WHERE子句用于过滤 SELECT、UPDATE、DELETE 操作中的数据行。它可以根据指定的条件从表中选择出满足条件的行,从而提高查询效率。

语法

WHERE 子句的基本语法如下:

SELECT column1, column2, ...
FROM table_name
WHERE condition;

其中,

  • column1, column2, ...:要选取的列名。
  • table_name:要查询的表名。
  • condition:查询的条件,可以是一个或多个条件的组合。常见的条件运算符有:=、<、>、<=、>=、<>、LIKE、IN、BETWEEN 等。
示例
简单条件

假设我们有以下 customers 表:

| id | name | email | phone | address | |---|---------|----------------|--------------|--------------| | 1 | Alice | alice@test.com | 555-1234-5678 | New York City | | 2 | Bob | bob@test.com | 555-2345-6789 | Los Angeles | | 3 | Charlie | charlie@test.com | 555-3456-7890 | San Francisco |

我们可以使用 WHERE 子句来选出名字为 Alice 的行:

SELECT *
FROM customers
WHERE name = 'Alice';

执行以上查询,将返回以下结果:

| id | name | email | phone | address | |---|-------|----------------|--------------|--------------| | 1 | Alice | alice@test.com | 555-1234-5678 | New York City |

复合条件

我们也可以使用多个条件组合来筛选数据,例如选出城市为 San Francisco 且电话号码前缀为 555-3456 的行:

SELECT *
FROM customers
WHERE address = 'San Francisco' AND phone LIKE '555-3456%';

执行以上查询,将返回以下结果:

| id | name | email | phone | address | |---|---------|------------------|--------------|----------------| | 3 | Charlie | charlie@test.com | 555-3456-7890 | San Francisco |

其他条件运算符

在 WHERE 子句中,还支持以下条件运算符:

  • LIKE:匹配字符串。
  • IN:指定多个值进行匹配。
  • BETWEEN:匹配在指定范围内的值。

例如,我们可以使用 LIKE 来选出电子邮件地址包含 "test.com" 的行:

SELECT *
FROM customers
WHERE email LIKE '%test.com';

执行以上查询,将返回以下结果:

| id | name | email | phone | address | |---|---------|------------------|--------------|----------------| | 1 | Alice | alice@test.com | 555-1234-5678 | New York City | | 2 | Bob | bob@test.com | 555-2345-6789 | Los Angeles | | 3 | Charlie | charlie@test.com | 555-3456-7890 | San Francisco |

总结

使用 WHERE 子句可以轻松对数据进行筛选和过滤,从而提高数据库查询效率。掌握 WHERE 子句的基本语法和条件运算符是 PostgreSQL 数据库开发中必备的技能。