前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >第七章:数据过滤

第七章:数据过滤

作者头像
用户1134788
发布2018-01-05 14:04:06
6600
发布2018-01-05 14:04:06
举报
文章被收录于专栏:栗霖积跬步之旅

表名:products

字段:product_id、product_name、product_price、vend_id(供应商)

为了提供更强的过滤控制,MySQL允许给出多个WHERE子句,这些子句可以以:AND子句和OR子句的方式使用。

注:操作符(operator)用来联结或改变WHERE子句中的子句的关键字,也成逻辑操作符(logical operator)

操作符都是在WHERE后面的关键字

1.AND操作符:

检索供应商id为1003且价格在5到10之间的产品名称

代码语言:javascript
复制
SELECT product_name FROM products WHERE vend_id = 1003 AND product_price BETWEEN 5 AND 10

注:AND:用于WHERE子句的关键字,用来指示检索满足所有给定条件的行。多个并列条件间使用AND。

2.OR操作符:

检索供应商id为1000或1003的产品名称

代码语言:javascript
复制
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的产品名称。

代码语言:javascript
复制
SELECT product_name FROM products WHERE (vend_id = 1000 OR vend_id = 1003) AND produce_price >=1000

注:注意避免计算次序带来的影响,使用()来处理优先次序。

4.IN操作符:

IN操作符用于指定条件范围,使用()来限定范围

代码语言:javascript
复制
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的所有产品名称

代码语言:javascript
复制
SELECT product_name FROM products WHERE vend_id NOT IN(1000,1003)

总结:

为什么使用NOT:  复杂的语句中NOT非常实用。  MySQL支持使用NOT对IN、BETWEEN和EXIST子句取反,

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-11-29 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档