第七章:数据过滤
来源:互联网 发布:spss如何转换数据 编辑:程序博客网 时间:2024/05/07 06:12
表名:products
字段:product_id、product_name、product_price、vend_id(供应商)
为了提供更强的过滤控制,MySQL允许给出多个WHERE子句,zhe这些子句可以以:AND子句和OR子句的方式使用。
注:操作符(operator)用来联结或改变WHERE子句中的子句的关键字,也成逻辑操作符(logical operator)
操作符都是在WHERE后面的关键字
1.AND操作符
检索供应商id为1003且价格在5到10之间的产品名称
SELECT product_name FROM products WHERE vend_id = 1003 AND product_price BETWEEN 5 AND 10
注:AND:用于WHERE子句的关键字,用来指示检索满足所有给定条件的行。多个并列条件间使用AND。
2.OR操作符
检索供应商id为1000或1003的产品名称
SELECT product_name FROM products WHERE vend_id = 1000 OR vend_id = 1003
注:OR:用于WHERE子句的关键字,用来检索匹配任一条件的行。
3.计算次序
AND比OR操作符的计算次序高,也就是说同时出现AND和OR时,会优先处理AND与其对应的条件。
可以通过()来调整优先级。
检索供应商id为1000或1003且产品价格大于10.0的产品名称
SELECT product_name FROM products WHERE (vend_id = 1000 OR vend_id = 1003) AND produce_price >=1000
注:注意避免计算次序带来的影响,使用()来处理优先次序。
4.IN操作符
IN操作符用于指定条件范围,使用()来限定范围
SELECT product_name FROM products WHERE vend_id IN (1000,1003) ORDER BY product_id
注:IN的优点:
在使用合法选项清单时,IN操作符的语法更清晰且更直观。
在使用IN时,计算的次序更容易管理(操作符少)。
IN操作符一般比OR操作qing清单执行的快。
IN可以包含其他SELECT语句,能更动态建立WHERE语句。
5.NOT操作符
有且只有一个功能否定后面所跟的任何条件
查找除了供应商id为1000与1003的所有产品名称
SELECT product_name FROM products WHERE vend_id NOT IN(1000,1003)
总结:
为什么使用NOT:
复杂的语句中NOT非常实用。
MySQL支持使用NOT对IN、BETWEEN和EXIST子句取反,
- 第七章:数据过滤
- MYSQL必知必会读书笔记 第七章 数据过滤
- 第七章 数据字典
- 第四章 过滤数据
- 第六章:过滤数据
- 第七章:操纵数据--20130914
- 第七章:数据规整化
- 第五章 高级数据过滤
- 数据过滤
- 第七章 使用结构组合数据
- 第七章--表单和数据表格
- 驾驭大数据第七章部分内容
- 第七章 插入、更新与删除数据
- 理论篇~第七章 数据质量
- SQL必知必会 笔记 第四章 过滤数据
- MYSQL必知必会读书笔记 第六章 过滤数据
- 过滤xml冗余数据
- 动态数据过滤Filter
- 服务器TIME_WAIT和CLOSE_WAIT详解和解决办法
- 字符串里解析vue表达式
- java并发编程学习(六) 重排序和顺序一致性
- EnableAutoConfiguration注解的工作原理
- python获取下周周一日期(获取指定周指定周几)
- 第七章:数据过滤
- 如何下载DWG矢量格式的CAD等高线
- 如何在VSCode中同步代码到github (on Mac)
- 20-常用对象API(集合框架练习) 21-常用对象API(集合框架-LinkedHashSet集合).
- 个人博客Blog搭建
- RabbitMQ消息队列(一): Detailed Introduction 详细介绍
- python之位置参数、关键值参数、参数收集
- 什么是跨域?怎么解决跨域问题?
- 数据结构与算法分析 c++ 排序