Database - 读书笔记--SQL必知必会04--过滤数据
2016-12-20 23:29
363 查看
搜索条件(search criteria)也称为(filter condition)。
WHERE子句在表名之后使用。同时使用ORDER BY和WHERE子句时,ORDER BY位于WHERE之后。
4.2.1 检查单个值
4.2.2 不匹配检查
如果将值与字符串类型的列进行比较,就需要使用单引号来限定字符串。
用来与数值列进行比较的值不用引号。
4.2.3 范围值检查
使用BETWEEN操作符检查某个范围的值时,必须指定范围的开始值和结束值,而且这两个值必须用AND关键字分隔。
4.2.4 空值检查
在一个列不包含值时,称为包含空值NULL,表示无值(no value)。
注意:在进行匹配过滤和非匹配过滤时,不会返回含NULL值的行。参考:http://www.cnblogs.com/sesexxoo/
Action is the antidote to despair!
本博客保留原创内容的版权。在标明来源和出处的前提下,允许非商业用途的转载和引用。
随笔分类可能存在部分内容来自于网络,并略有修改。 文章分类主要或全部内容来自于网络,并略有修改。 本意为高效记录和传递信息,版权归原作者所有,如有冒犯,即刻删除。
4.1 使用WHERE子句
在SELECT语句中,数据根据WHERE子句中指定搜索条件进行过滤。搜索条件(search criteria)也称为(filter condition)。
WHERE子句在表名之后使用。同时使用ORDER BY和WHERE子句时,ORDER BY位于WHERE之后。
MariaDB [sqlbzbh]> SElECT prod_name, prod_price FROM Products WHERE prod_price=3.49; +---------------------+------------+ | prod_name | prod_price | +---------------------+------------+ | Fish bean bag toy | 3.49 | | Bird bean bag toy | 3.49 | | Rabbit bean bag toy | 3.49 | +---------------------+------------+ 3 rows in set (0.00 sec) MariaDB [sqlbzbh]> MariaDB [sqlbzbh]> SElECT prod_name, prod_price FROM Products WHERE prod_price = 3.49 ORDER BY prod_name; +---------------------+------------+ | prod_name | prod_price | +---------------------+------------+ | Bird bean bag toy | 3.49 | | Fish bean bag toy | 3.49 | | Rabbit bean bag toy | 3.49 | +---------------------+------------+ 3 rows in set (0.00 sec) MariaDB [sqlbzbh]>
4.2 WHERE子句操作符
等于: = 不等于:!= 或者 <> 大于:> 小于:< 大于等于:>= 小于等于:<= 不大于:!> 不小于:!< 在指定的两个值之间:BETWEEN 为NULL值:IS NULL
4.2.1 检查单个值
MariaDB [sqlbzbh]> SElECT prod_name, prod_price FROM Products WHERE prod_price < 10; +---------------------+------------+ | prod_name | prod_price | +---------------------+------------+ | Fish bean bag toy | 3.49 | | Bird bean bag toy | 3.49 | | Rabbit bean bag toy | 3.49 | | 8 inch teddy bear | 5.99 | | 12 inch teddy bear | 8.99 | | Raggedy Ann | 4.99 | | King doll | 9.49 | | Queen doll | 9.49 | +---------------------+------------+ 8 rows in set (0.00 sec) MariaDB [sqlbzbh]>
4.2.2 不匹配检查
如果将值与字符串类型的列进行比较,就需要使用单引号来限定字符串。
用来与数值列进行比较的值不用引号。
MariaDB [sqlbzbh]> SElECT vend_id, prod_name FROM Products WHERE vend_id <> 'DLL01'; +---------+--------------------+ | vend_id | prod_name | +---------+--------------------+ | BRS01 | 8 inch teddy bear | | BRS01 | 12 inch teddy bear | | BRS01 | 18 inch teddy bear | | FNG01 | King doll | | FNG01 | Queen doll | +---------+--------------------+ 5 rows in set (0.00 sec) MariaDB [sqlbzbh]>
4.2.3 范围值检查
使用BETWEEN操作符检查某个范围的值时,必须指定范围的开始值和结束值,而且这两个值必须用AND关键字分隔。
MariaDB [sqlbzbh]> SElECT prod_name, prod_price FROM Products WHERE prod_price BETWEEN 5 AND 10; +--------------------+------------+ | prod_name | prod_price | +--------------------+------------+ | 8 inch teddy bear | 5.99 | | 12 inch teddy bear | 8.99 | | King doll | 9.49 | | Queen doll | 9.49 | +--------------------+------------+ 4 rows in set (0.00 sec) MariaDB [sqlbzbh]>
4.2.4 空值检查
在一个列不包含值时,称为包含空值NULL,表示无值(no value)。
注意:在进行匹配过滤和非匹配过滤时,不会返回含NULL值的行。参考:http://www.cnblogs.com/sesexxoo/
MariaDB [sqlbzbh]> SELECT prod_name FROM Products WHERE prod_price IS NULL; Empty set (0.00 sec) MariaDB [sqlbzbh]> MariaDB [sqlbzbh]> SELECT cust_name FROM Customers WHERE cust_email IS NULL; +---------------+ | cust_name | +---------------+ | Kids Place | | The Toy Store | +---------------+ 2 rows in set (0.00 sec) MariaDB [sqlbzbh]> MariaDB [sqlbzbh]> SELECT cust_email FROM Customers; +-----------------------+ | cust_email | +-----------------------+ | sales@villagetoys.com | | NULL | | jjones@fun4all.com | | dstephens@fun4all.com | | NULL | +-----------------------+ 5 rows in set (0.00 sec) MariaDB [sqlbzbh]> SELECT cust_email FROM Customers WHERE cust_email != 'sales@ www.pan5.net'; +-----------------------+ | cust_email | +-----------------------+ | jjones@fun4all.com | | dstephens@fun4all.com | +-----------------------+ 2 rows in set (0.00 sec) MariaDB [sqlbzbh]>
Action is the antidote to despair!
本博客保留原创内容的版权。在标明来源和出处的前提下,允许非商业用途的转载和引用。
随笔分类可能存在部分内容来自于网络,并略有修改。 文章分类主要或全部内容来自于网络,并略有修改。 本意为高效记录和传递信息,版权归原作者所有,如有冒犯,即刻删除。
相关文章推荐
- 读书笔记--SQL必知必会04--过滤数据
- 读书笔记--SQL必知必会04--过滤数据
- 读书笔记--SQL必知必会05--高级数据过滤
- 读书笔记--SQL必知必会05--高级数据过滤
- Database - 读书笔记--SQL必知必会06--用通配符进行过滤
- MYSQL必知必会读书笔记 第九章 使用正则表达式过滤数据
- 读书笔记--SQL必知必会02--检索数据
- 读书笔记--SQL必知必会15--插入数据
- 读书笔记--SQL必知必会10--分组数据
- MySQL学习足迹记录04--数据过滤--WHERE
- 读书笔记--SQL必知必会02--检索数据
- sql必知必会学习笔记-二,检索,过滤数据
- 读书笔记--SQL必知必会03--排序检索数据
- Database - 读书笔记--SQL必知必会07--创建计算字段
- 读书笔记--SQL必知必会03--排序检索数据
- 读书笔记--SQL必知必会15--插入数据
- MYSQL必知必会读书笔记第六章之过滤数据
- 读书笔记--SQL必知必会06--用通配符进行过滤
- 读书笔记--SQL必知必会09--汇总数据
- 读书笔记--SQL必知必会06--用通配符进行过滤