使用 WHERE 子句指定搜索条件

WHERE 子句指定用于标识要检索,更新或删除的一行或多行的搜索条件。

然后,使用 SQL 语句处理的行数取决于满足 WHERE 子句 搜索条件的行数。 搜索条件由一个或多个 谓词组成。 谓词指定您希望 SQL 应用于表的一个或多个指定行的测试。

在以下示例中, WORKDEPT = "C01" 是谓词, WORKDEPT 和 "C01" 是表达式,等号 (=) 是比较运算符。 请注意,字符值以单引号 (') 括起; 数字值不是。 这适用于所有常量值 (无论它们是在 SQL 语句中编码的)。 例如,要指定您对部门号为 C01的行感兴趣,请发出以下语句:

... WHERE WORKDEPT = 'C01'

在这种情况下,搜索条件由一个谓词组成 :WORKDEPT = 'C01'。

要进一步说明 WHERE ,请将其放入 SELECT 语句中。 假定 CORPDATA.DEPARTMENT 表具有唯一的部门编号。 您希望从部门 C01的 CORPDATA.DEPARTMENT 表中检索部门名称和经理编号。 发出以下语句:

SELECT DEPTNAME, MGRNO
       FROM CORPDATA.DEPARTMENT
       WHERE DEPTNO = 'C01';

此语句的结果是一行。

表 1. 结果表 (result table)
DEPTNAME MGRNO
INFORMATION CENTER 000030

如果搜索条件包含字符, UCS-2 或 UTF-16 图形列谓词,那么运行查询时生效的排序顺序将应用于这些谓词。 如果未使用排序顺序,那么必须以大写或小写形式指定字符常量,以匹配要与之进行比较的列或表达式。