Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SAP Sybase SQL Anywhere 16.0 (中文) » SQL Anywhere 服务器 - SQL 用法 » 查询和数据修改 » 查询

 

查询谓语

谓语是用逻辑运算符 AND 和 OR 连接在一起的条件表达式,可在 WHERE、HAVING 或 ON 子句中组成条件集合。在 SQL 中,求值结果为 UNKNOWN 的谓语将解释为 FALSE。

可以利用索引从表中检索行的谓语被称作可优化搜索谓语。此名称来自于短语 search argument-able。涉及将列与常量、其它列或表达式进行比较的谓语可能是可优化搜索谓语。

以下语句中的谓语是可优化搜索谓语。SQL Anywhere 可以使用 Employees 表的主索引有效地计算该谓语的值。

SELECT *
FROM Employees
WHERE Employees.EmployeeID = 102;

在最佳访问计划中,这显示为: Employees<Employees>.

对比之下,以下谓语就不是可优化搜索谓语。虽然 EmployeeID 列被编入主索引,但由于结果中包含所有行(或除一行之外的所有行),因此使用此索引并不会加快计算速度。

SELECT *
FROM Employees
where Employees.EmployeeID <> 102;

在最佳访问计划中,这显示为: Employees<seq>.

类似地,没有任何索引可以帮助搜索名字以字母 k 结尾的所有雇员。同样,计算此结果的唯一方法是分别检查每一行。

 函数
 示例
 另请参见