SQL编程思想:基于5种主流数据库代码实现
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人


2.2 实现数据过滤

在实际应用中,我们通常无须返回表中的全部数据,大多数情况下只需检索满足特定条件的记录。例如,查找某个部门中的员工或者当前用户未完成的订单。

在SQL语句中,我们可以使用关键字WHERE指定数据的过滤条件。例如,以下语句查找姓名为“刘备”的员工信息:

其中,WHERE子句位于FROM子句之后,用于指定一个或者多个过滤条件。只有满足条件的数据才会返回,其他数据将被忽略。该语句返回的结果如下:

对于Oracle而言,DATE数据类型中不仅包含了日期信息,也包含时间信息,因此以上查询返回的入职日期为“2000-01-01 00:00:00”,而不是“2000-01-01”。

这种通过查询条件过滤数据的操作在关系运算中被称为选择(Selection)。选择操作是针对表进行的水平过滤,保留满足条件的记录生成新的关系表。选择操作的过程如图2.2所示。

WHERE子句中的查询条件也被称为谓词(Predicate)。谓词运算的结果可能为真(True)、假(False)或者未知(Unknown)。当谓词运算的结果为真时,表示数据满足查询条件,返回相应的数据;否则表示数据不满足查询条件,不返回相应的数据。

图2.2 选择操作的过程