1、如何使用where字句
数据库中一般包含大量的数据,很少需要检索表中的所有行。通常只会根据特点操作或报告的需要提取表数据的子集。
SELECT prod_name , prod_price
FROM Products
WHERE prod_price = 3.49;
注意:
1、在同时使用order by和where子句时,应该让order by位于where之后。
2、where子句操作符
操作符 | 说明 |
---|---|
= | 等于 |
<> | 不等于 |
!= | 不等于 |
< | 小于 |
<= | 小于等于 |
!< | 不小于 |
> | 大于 |
= | 大于等于 |
!> | 不大于 |
BETWEEN | 在指定的两个值之间 |
IS NULL | 为NULL值 |
注意:
1、某些的操作符都是冗余的。
2、并非所有的dbms都支持这些操作符。
3、检查某个值
SELECT prod_name , prod_price
FROM products
WHERE prod_price < 10;
4、不匹配检查
SELECT prod_name , prod_price
FROM products
WHERE vend_id <> 'DLL01'
注意:
1、什么时候需要使用引号,如果将值于字符串类型的列进行比较,就需要限定引号;用来于数值列进行比较的值不用引号。
2、!=和<>通常可以互换,但是并非所有dbms都支持这两种不等于操作符,具体如何需要参考相应的dbms文档。
5、范围值检查
SELECT prod_name , prod_price
FROM products
WHERE prod_price BETWEEEN 5 AND 10;
#BETWEEN匹配范围中所有的值,包括指定的开始值和结束值
6、空值检查
SELECT prod_name , prod_price
FROM produucts
WHERE prod_price IS NULL;
#在创建表时,表设计人员可以指定其中的列能否不包含值,当一个列不包含值,称其包含空值NULL
注意:
1、null(空值或者无值),他与字段包含0,空字符串或仅仅包含空格不同。
2、通过过滤不包含指定值的所有行,你可能希望返回含NULL值的行,但是这是做不到的。