专栏首页栗霖积跬步之旅第七章:数据过滤

第七章:数据过滤

表名:products

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

为了提供更强的过滤控制,MySQL允许给出多个WHERE子句,这些子句可以以: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子句取反,

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 第12章:汇总数据

    表名:products  字段:product_id、product_name、product_price、vend_id(供应商) 12.1聚集函数: 我们常...

    用户1134788
  • java并发编程的艺术——第一章总结

    并发编程的挑战 1.1上下文切换 1.1.1多线程一定快吗 1.1.2测试上下文切换次数和时长 1.1.3如何减少上下文切换 1.1.4减少上下文切换实战   ...

    用户1134788
  • Springboot的默认定时任务——Scheduled注解

    本博客参考博文地址。 1.pom依赖: 引入springboot starter包即可 <dependencies> <dependency> ...

    用户1134788
  • 怎样突破表名30个字符的限制(r2笔记51天)

    根据oracle的规范,对象的长度最大为30位,也就是说,在平时的使用中如果碰到表名长度大于30位,首先oracle是不答应的,它会提示idnetifier t...

    jeanron100
  • oracle中sql的递归查询运用

    主键 名字 职位 上级id 部门id

    小小鱼儿小小林
  • SpringBoot集成Mybatis

    代码改变世界-coding
  • EasyNVR H5无插件直播方案前端构建之:videojs初始化的一些样式处理

    由于不同项目的需要,对于加载出来的videojs播放器样式也有不同的需求;我们需要自主的处理一下加载出来的videojs播放器的样式;

    EasyNVR
  • 神奇的OverLoad

    OverLoad就是重载,大家都会。但是大家有没有想过,我们调用一个重载方法的时候会调用哪个呢??

    黄腾霄
  • Touchjet WAVE:让电视变成巨型平板的智能硬件

    镁客网
  • OptaPlanner 7.32.0.Final版本彩蛋 - SolverManager之异步求解

    因为工作和其它原因,很长一段时间没有出新的、关于OptaPlanner的文章了,但工余时间并没有停止对该引擎的学习。与此同时Geoffrey大神带领的KIE项目...

    Kent Zhang

扫码关注云+社区

领取腾讯云代金券