SQL入门:选择行

王朝mssql·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

要从表中选择特定行,在 SELECT 语句之后使用 WHERE 子句指定要选择的行必须满足的条件。从表中选择行的标准是搜索条件。

搜索条件由一个或多个谓词组成。谓词指定关于某一行是真或是假(或未知)的条件。可使用下列基本谓词在 WHERE 子句中指定条件:

在构造搜索条件时,要注意只对数字数据类型执行算术运算,并只在相容数据类型之间进行比较。例如,不能将字符串与数字进行比较。

如果正在基于字符值来选择行,则该值必须用单引号括起来(例如,WHERE JOB = 'Clerk'),并且输入的每个字符值必须与数据库中的完全一样。如果数据值在数据库中是小写的,而您用大写形式来输入它,则将不选择行。如果正在基于数字值来选择行,则该值不得用引号括起来(例如,WHERE DEPT = 20)。

下列示例只从 STAFF 表中选择部门 20 的行:

SELECT DEPT, NAME, JOB

FROM STAFF

WHERE DEPT = 20

此语句产生下列结果:

下一示例使用 AND 来指定多个条件。可以指定任意多个条件。该示例从 STAFF 表中选择部门 20 中的 clerk:

SELECT DEPT, NAME, JOB

FROM STAFF

WHERE JOB = 'Clerk'

AND DEPT = 20

此语句产生下列结果:

未在其中输入值且不支持缺省值的列中出现空值。将值特别设置为空值的地方也可以出现空值。空值只能在定义为支持空值的列中出现。在表中定义和支持空值在创建表中讨论。

使用谓词 IS NULL 和 IS NOT NULL 来检查空值。

下列语句列出佣金未知的雇员:

SELECT ID, NAME

FROM STAFF

WHERE COMM IS NULL

此语句产生下列结果:

值零与空值不相同。下列语句选择表中佣金为零的每个人:

SELECT ID, NAME

FROM STAFF

WHERE COMM = 0

因为样本表中的 COMM 列中没有零值,所以返回的结果集为空。

下一个示例选择 STAFF 表中 YEARS 的值大于 9 的所有行:

SELECT NAME, SALARY, YEARS

FROM STAFF

WHERE YEARS 9

此语句产生下列结果:

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航