——此文章摘自《SQL 必知必会(第
版)》定价
元 特价
元 购买>>>
何时使用引号如果仔细观察上述WHERE子句中使用的条件会看到有的值括在单引号内而有的值未括起来单引号用来限定字符串如果将值与串类型的列进行比较则需要限定引号用来与数值列进行比较的值不用引号
下面是相同的例子其中使用!=而不是<>操作符
注意是!=还是<>? !=和<>通常可以互换使用但是并非所有DBMS都支持这两种不等于操作符例如Microsoft Access支持<>而不支持!=如果有疑问请参阅相应的DBMS文档
范围值检查
为了检查某个范围的值可使用BETWEEN操作符其语法与其他WHERE子句的操作符稍有不同因为它需要两个值即范围的开始值和结束值例如BETWEEN操作符可用来检索价格在美元和美元之间或日期在指定的开始日期和结束日期之间的所有产品
下面的例子说明如何使用BETWEEN操作符它检索价格在美元和美元之间的所有产品
从这个例子中可以看到在使用BETWEEN时必须指定两个值——所需范围的低端和高端值这两个值必须用AND关键字分隔BETWEEN匹配范围中所有的值包括指定的开始和结束值
空值检查
在创建表时表设计人员可以指定其中的列是否可以不包含值在一个列不包含值时称其为包含空值NULL
NULL 无值(no value)它与字段包含空字符串或仅仅包含空格不同
SELECT语句有一个特殊的WHERE子句可用来检查具有NULL值的列这个WHERE子句就是IS NULL子句其语法如下
这条语句返回没有价格(空prod_price字段不是价格为)的所有产品由于表中没有这样的行所以没有返回数据但是Vendors表确实包含有具有空值的列如果没有州数据则vend_state列将包含NULL值(在没有US地址时类似)
DBMS的特定操作符 许多DBMS扩展了标准的操作符集提供了更高级的过滤选择更多信息请参阅相应的DBMS文档
[] []