域名 AXUM.RS 将于2025年10月到期。我们无意再对其进行续费,我们希望你能够接续这个域名,让更多 AXUM 开发者继续受益。
  • 方案1️⃣AXUM.RS 域名 = 3000
  • 方案2️⃣方案1️⃣ + 本站所有专题原始 Markdown 文档 = 5000
  • 方案3️⃣方案2️⃣ + 本站原始数据库 = 5500
如果你有意接续这份 AXUM 情怀,请与我们取得联系。
说明:
  1. 如果有人购买 AXUM.RS 域名(方案1️⃣),或者该域名到期,本站将启用新的免费域名继续提供服务。
  2. 如果有人购买了 AXUM.RS 域名,且同时购买了内容和/或数据库(方案2️⃣/方案3️⃣),本站将关闭。届时我们或许会以另一种方式与你再相遇。

WHERE 子句

本章我们将学习 WHERE 子句,它不但能用于 SELECT 过滤查询结果,还能用于其它语句。

WHERE 子句使用 condition (条件)来过滤结果,condition 的计算结果必须是未知。可以使用如下运算符来构造condition

PostgreSQL 的 LIKE 是区分大小写的,如果要像其它数据库那样不区分大小写,请使用 ILIKE

WHERE 示例

-- 返回 first_name 等于 Jamie 的记录
SELECT last_name,first_name FROM customer WHERE first_name = 'Jamie';

-- 返回 first_name 等于 Jamie,并且 last_name 等于 Rice 的记录
SELECT last_name,first_name FROM customer WHERE first_name = 'Jamie' AND last_name = 'Rice';

-- 返回 last_name 等于 Rodriguez 或者 first_name 等于 Adam 的记录
SELECT last_name,first_name FROM customer WHERE last_name = 'Rodriguez' OR first_name = 'Adam';

-- 返回 first_name 是 'Ann'、'Anne' 或 'Annie' 的记录
SELECT first_name, last_name FROM customer WHERE first_name IN('Ann', 'Anne', 'Annie');

-- 返回 first_name 以 'Ann' 开头的记录
SELECT first_name, last_name FROM customer WHERE first_name LIKE 'Ann%';

-- 返回 first_name 以 'A' 开头,并且长度介于3~5之间的记录
SELECT first_name, LENGTH(first_name) AS name_len FROM customer WHERE first_name LIKE 'A%' AND LENGTH(first_name) BETWEEN 3 AND 5 ORDER BY name_len;

-- 返回 first_name 以 'Bra' 开头,必须 last_name 不等于 Motley 的记录
SELECT first_name, last_name FROM customer WHERE first_name LIKE 'Bra%' AND last_name <> 'Motley';
要查看完整内容,请先登录