一、AND

  通过WHERE可以进行条件过滤,但只限于单个条件。

  通过AND就可以连接多个条件,AND代表了和,即AND两边的条件全部满足才会通过筛选。

  这就类似编程语言中的&&。

  

  以下表为例:

  

  

  找出vend_id 等于‘DLL01’且prod_price > 4信息。

二、OR

  OR代表了或者,筛选时只需满足OR任意一边的条件即可。类似编程语言中的||。

  例如:

  

  寻找vend_id = 'DLL01'或者prod_price > 4的信息,只需满足任何一个即可。

  

  

三、组合次序。

  OR和AND可以联合使用,但需要注意其组合次序,一般AND优先级高于OR。

  使用时最好加上()以表明那个操作符是一个整体。

  

  加上括号后会先算括号内的,如果不加括号会先算AND两边的条件。

  使用时最好加上括号。

四、IN

  IN用于指定条件范围,即只需满足IN指定的多个条件其中一个即可。

  WHERE id IN(1,2,3) 只需id等于1或2或3即满足条件。

  等价于WHERE id = 1 OR id = 2 OR id = 3;

  

  vned_id等于'DLL01'或‘BRS01’的用户被筛选出来了。

  主要是IN() 的括号中可以添加SELECT语句,将SELECT语句的检索结果作为判断参数。

  

五、NOT操作符

  NOT操作符就是否认后面的条件,类似编程语句的!。

  如果NOT后面是单一的条件,则否定是后面的单个条件。

  如果NOT后面是被括号括起的多个条件,则否定的是这个括号内多个条件的结果。

  例如(条件1...条件n) 为真, 则 NOT(条件1...条件n)为假。

  下面看具体例子

  

  否定后面单个条件,即变成了 prod_price >= 4 AND prod_price < 6。

  

  括号内条件筛选时所有小于4且小于6的信息(即所有小于4的信息),加上NOT后就变成了所有大于等于4的信息。

  

  该例原本是vend_id等于'DLL01'或‘BRS01’,加上NOT后就变成了除了这些数据(满足vend_id等于‘DLL01’或“BRS01”)之外的其他数据。

  即  NOT (vend_id = 'DLL01'  OR  vend_id = 'BRS01')等价 (NOT vend_id = 'DLL01'  AND NOT vend_id = 'BRS01').记得这是一个定理具体的名字忘了。

  !(a || b) == !a && !b

六、用通配符进行过滤

  使用通配符就可以实现类似正则表达式的操作,匹配数据中指定数据,使匹配更加灵活。

  例如我想匹配所有商品名称中带‘dog’的商品,这时采用常规操作比较难办到。

  

  通配符就是一些代表特殊含义的字符,使用这些特殊含义的字符时需要通过LIKE匹配。

  

  6.1 %

  %通配符代表任意字符出现任意次数。(空格也是字符)

  

  prod_name LIKE '%be%'代表只要prod_name中有‘be’,‘be‘ 前面、后面可以是任意字符出现任意次数。

  

  6.2 _

  _通配符代表任意字符出现一次

  

  匹配了‘8 inch teddy bear’,但没有匹配‘12 inch teddy bear’ 因为12是两个字符所以需要‘__’(两个)

  注意空格也是字符,‘_ in%’中'_'和in之间需要一个空格。

参考资料:

《SQL必知必会》

最新文章

  1. 轻量级Java EE企业应用实战(第4版):Struts 2+Spring 4+Hibernate整合开发(含CD光盘1张)
  2. Empire C:Basic 3
  3. Bootstrap布局
  4. rfc all download
  5. UMEditor 二次开发技术实践
  6. HDU 1402 A * B Problem Plus (FFT模板题)
  7. C语言中所有变量和常量所使用的内存总结
  8. 基于MapReduce的HBase开发
  9. MyBatis-3.2.2
  10. 一道360 crackme的破解
  11. 新手教程:不写JS,在MIP页中实现异步加载数据
  12. JS的 try catch使用心得
  13. shiro的单机版 和 集群版
  14. Java语法基础学习DayTwenty(反射机制续)
  15. Sublime Text3中 less 自动编译成 css 的方法
  16. jQuery的事件,动画效果等
  17. echarts 取消图例上的点击事件和图表上鼠标滑过点击事件
  18. locust 的使用
  19. 转:Struts2返回JSON数据的具体应用范例
  20. Linux常见问题总结【转】

热门文章

  1. &lt;script&gt;标签的属性
  2. GDB实战
  3. Linux线程基础函数
  4. Linux下基本栈溢出攻击【转】
  5. 移动端测试===安卓设备共享程序-发布版本“share device”
  6. 再思linux内核在中断路径内不能睡眠/调度的原因(2010)【转】
  7. linux内核启动分析(2)
  8. centos6.5升级Linux内核步骤
  9. core dump使用方法、设置、测试用例
  10. CF625D Finals in arithmetic-构造,贪心,细节