SQL必知必会——过滤数据(四)

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值的行,但是这是做不到的。

猜你喜欢

转载自blog.csdn.net/qq_28285403/article/details/90289708