1.2(SQL学习笔记)高级数据过滤
一、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.2(SQL学习笔记)高级数据过滤的更多相关文章
- SQL学习之高级数据过滤
一.高级数据过滤之IN操作符 IN 操作符用来指定条件范围,范围中的每个条件都可以进行匹配.IN取一组由逗号分隔.括在圆括号中的合法值.代码如下: select ItemId,ItemName,Che ...
- 数据库MySQL学习笔记高级篇
数据库MySQL学习笔记高级篇 写在前面 学习链接:数据库 MySQL 视频教程全集 1. mysql的架构介绍 mysql简介 概述 高级Mysql 完整的mysql优化需要很深的功底,大公司甚至有 ...
- ORALCE PL/SQL学习笔记
ORALCE PL/SQL学习笔记 详情见自己电脑的备份数据资料
- Windows phone 8 学习笔记(2) 数据文件操作
原文:Windows phone 8 学习笔记(2) 数据文件操作 Windows phone 8 应用用于数据文件存储访问的位置仅仅限于安装文件夹.本地文件夹(独立存储空间).媒体库和SD卡四个地方 ...
- #学习笔记#JSP数据交互
#学习笔记#JSP数据交互 数据库的使用方式: 当用户在第一个页面的查询框输入查询语句点提交的时候我们是用什么样的方式完成这个查询的? 答:我们通过在第一个页面提交表单的形式,真正的数据库查询时在 ...
- ArcGIS案例学习笔记_3_2_CAD数据导入建库
ArcGIS案例学习笔记_3_2_CAD数据导入建库 计划时间:第3天下午 内容:CAD数据导入,建库和管理 目的:生成地块多边形,连接属性,管理 问题:CAD存在拓扑错误,标注位置偏移 教程:pdf ...
- GIS案例学习笔记-CAD数据分层导入现有模板实例教程
GIS案例学习笔记-CAD数据分层导入现有模板实例教程 联系方式:谢老师,135-4855-4328,xiexiaokui#qq.com 1. 原始数据: CAD数据 目标模板 2. 任务:分5个图层 ...
- ArcGIS案例学习笔记-CAD数据自动拓扑检查
ArcGIS案例学习笔记-CAD数据自动拓扑检查 联系方式:谢老师,135-4855-4328,xiexiaokui#qq.com 功能:针对CAD数据,自动进行拓扑检查 优点:类别:地理建模项目实例 ...
- SQL学习笔记
SQL(Structured Query Language)学习笔记 [TOC] Terminal登录数据库 1.登录mysql -u root -p ; 2.显示所有数据库show database ...
- Oracle之PL/SQL学习笔记
自己在学习Oracle是做的笔记及实验代码记录,内容挺全的,也挺详细,发篇博文分享给需要的朋友,共有1w多字的学习笔记吧.是以前做的,一直在压箱底,今天拿出来整理了一下,给大家分享,有不足之处还望大家 ...
随机推荐
- mybatis 显示 sql日志
#项目日志logging.level.com.zhang.com=debug #mybatis sql相关日志显示logging.level.org.mybatis.spring=DEBUGloggi ...
- 结合BeautyEye开源UI框架实现的较美观的Java桌面程序
BeautyJavaSwingRobot 结合BeautyEye开源UI框架实现的较美观的Java桌面程序,主要功能就是图灵机器人和一个2345网站万年历的抓取.... 挺简单而且实用的一个项目,实现 ...
- CMD命令行下载文件
远程执行sct的另一种姿势 cscript /b C:\Windows\System32\Printing_Admin_Scripts\zh-CN\pubprn.vbs 127.0.0.1 scrip ...
- OOM有哪些情况,SOF有哪些情况
OOM 1.全称为OutOfMemoryError异常,如果虚拟机在扩展栈时无法申请足够的内存空间,抛出它: 2.Java heap异常:java.lang.OutOfMemoryError:Java ...
- Python爬虫—破解JS加密的Cookie
前言 在GitHub上维护了一个代理池的项目,代理来源是抓取一些免费的代理发布网站.上午有个小哥告诉我说有个代理抓取接口不能用了,返回状态521.抱着帮人解决问题的心态去跑了一遍代码.发现果真是这样. ...
- 网络设备之pci_driver
每个pci驱动都有一个pci_driver实例,用以描述驱动名称,支持的设备信息,以及对应的操作函数: /* 描述一个pci设备,每个pci驱动必须创建一个pci_driver实例 */ struct ...
- 源码分析之tinyhttpd-0.1
1. 简介: tinyhttpd是使用c语言开发的超轻量级http服务器,通过代码流程可以了解http服务器的基本处理流程, 并且涉及了网络套接字,线程,父子进程,管道等等知识点: 项目地址:http ...
- centos_7.1.1503_src_5
http://vault.centos.org/7.1.1503/os/Source/SPackages/ minicom-2.6.2-5.el7.src.rpm 05-Jul-2014 13:50 ...
- 1003: FFF团的情侣活动--课程作业--找出N个数字中唯一出现奇数次的数
1003: FFF团的情侣活动 Time Limit: 1 Sec Memory Limit: 2 MB Description 圣诞节快到了,Water作为大FFF团团长,组织许多对情侣进行电影院 ...
- dubbo支持的远程调用方式
dubbo RPC(二进制序列化 + tcp协议).http invoker(二进制序列化 + http协议,至少在开源版本没发现对文本序列化的支持).hessian(二进制序列化 + http协议) ...