《MySQL必知必会》学习笔记——第七章(数据过滤)
文章目录
- 7.1组合WHERE子句
- 7.1.1 AND 操作符
- 7.1.2 OR操作符
- 7.1.3 计算次序
- 7.2 IN操作符
- 7.3 NOT操作符
- 总结:
前文连接:
《MySQL必知必会》——书中表的生成
《MySQL必知必会》——第三章(了解数据库和表) 关键词:USE、SHOW
《MySQL必知必会》——第四章(检索数据) 关键词:SELECT
《MySQL必知必会》——第五章(排序检索数据) 关键词:ORDER BY
《MySQL必知必会》——第六章(过滤数据) 关键词:WHERE
7.1组合WHERE子句
第六章我们总结了WHERE的用法,但只是的简单的过滤数据,为了得到更强更复杂的数据检索能力,我们还需要将WHERE子句进行组合!
7.1.1 AND 操作符
我们可以将多个WHERE语句通过AND子句连接,建立更强的数据检索能力!
AND子句:检索出 匹配所有条件的行
# 检索出vend_id 等于1003 并且 prod_price 小于等于 10 的行
SELECT prod_id, prod_price, prod_name FROM products WHERE vend_id = 1003 AND prod_price <= 10;
7.1.2 OR操作符
OR子句:检索出只匹配任一条件的行
# 检索出vend_id 等于1003 或 1002的行
SELECT prod_price, prod_name FROM products WHERE vend_id = 1003 OR vend_id = 1002;
如果上面语句中的 OR 变为 AND则不会返回任何数据,因为 vend_id 不会同时等于1003也等于1002的。
7.1.3 计算次序
当同时存在AND子句和OR子句时,SQL会优先处理AND子句,再处理OR子句,看个例子
# 处理时,会把(vend_id = 1003 AND prod_price >= 10)当做一个条件,(vend_id = 1002)当做一个条件去任意匹配!
SELECT vend_id, prod_price, prod_name FROM products WHERE vend_id = 1002 OR vend_id = 1003 AND prod_price >= 10;
若我们想匹配 vend_id 等于1002或1003时,prod_price 大于等于10的行,应该加上圆括号:
# vend_id 等于1002或1003时, prod_price 大于等于10的行
SELECT vend_id, prod_price, prod_name FROM products WHERE (vend_id = 1002 OR vend_id = 1003) AND prod_price >= 10;
优先级:圆括号 > AND > OR
7.2 IN操作符
IN操作符,匹配包含在圆括号里的所有值,举例看:
# 检索vend_id 等于 1002 或者 1003 的行!
SELECT prod_price, prod_name FROM products WHERE vend_id IN (1002, 1003);# 还可以表示为:
SELECT prod_price, prod_name FROM products WHERE vend_id = 1002 or vend_id = 1003;
通过上面的例子,可以发现 OR 和 IN 的功能是相同的,那么OR和IN的优缺点呢!
- 若匹配的项很多,IN语句更加的简洁
- IN子句一般比OR子句执行更快
7.3 NOT操作符
NOT操作符作用:否定跟在它后面的语句!
# 检索 vend_id 不等于1002和1003的行!
SELECT prod_price, prod_name FROM products WHERE vend_id NOT IN (1002, 1003);
注意:
- NOT 只对紧跟在其后的语句有效!
总结:
- SELECT 列名 FROM 表名 WHERE 子句 OR 子句:检索出满足任一条件的行
- SELECT 列名 FROM 表名 WHERE 子句 AND 子句:检索出满足所有条件的行
- SELECT 列名 FROM 表名 WHERE 列名 IN (元素,元素,,,):检索出和圆括号中一致的行
- SELECT 列名 FROM 表名 WHERE NOT 子句:检索出和子句不一样的行
《MySQL必知必会》学习笔记——第七章(数据过滤)相关推荐
- 《Go语言圣经》学习笔记 第七章 接口
<Go语言圣经>学习笔记 第七章 接口 目录 接口是合约 接口类型 实现接口的条件 flag.Value接口 接口值 sort.Interface接口 http.Handle接口 erro ...
- Effective C++ 学习笔记 第七章:模板与泛型编程
第一章见 Effective C++ 学习笔记 第一章:让自己习惯 C++ 第二章见 Effective C++ 学习笔记 第二章:构造.析构.赋值运算 第三章见 Effective C++ 学习笔记 ...
- 吴恩达机器学习学习笔记第七章:逻辑回归
分类Classification分为正类和负类 (规定谁是正谁是负无所谓) 吴恩达老师举例几个例子:判断邮箱是否是垃圾邮箱 一个在线交易是否是诈骗 一个肿瘤是良性的还是恶性 如果我们用之前学习的lin ...
- SQLite学习笔记(七)-- 数据插入、更新和删除(C++实现)
1.代码实例 代码说明 本例主要说明如何对数据表进行插入.更新和删除操作. 测试平台 1.开发语言:C++ 2.开发工具:VS2015 3.操作系统:Win7 X64 测试数据说明 测试表为Stude ...
- MySQL学习笔记——第3章 数据表的管理和表中数据操纵
第3章 数据表的管理和表中数据操纵 3.1 MySQL数据类型 数字类型:数字类型包括整数类型和数值类型 整数类型:TINYINT.SMALLINT.MEDIUMINT.INT和BIGINT 数值类型 ...
- 【机器学习-周志华】学习笔记-第七章
记录第一遍没看懂的 记录觉得有用的 其他章节: 第一章 第三章 第五章 第六章 第七章 第八章 ...
- 第二行代码学习笔记——第六章:数据储存全方案——详解持久化技术
本章要点 任何一个应用程序,总是不停的和数据打交道. 瞬时数据:指储存在内存当中,有可能因为程序关闭或其他原因导致内存被回收而丢失的数据. 数据持久化技术,为了解决关键性数据的丢失. 6.1 持久化技 ...
- MySQL学习笔记(七)—— 数据备份还原
数据安全 - 数据备份 一.数据库备份的概念 1.数据库备份类型 2.数据库备份方式 3.数据库备份场景 二.mysqldump命令备份单库或者多库 mysqldump使用语法: 三.MySQL的数据 ...
- 最优化方法(学习笔记)-第七章统计估计
Statistical estimation Logistic 回归-二分类 整体分类思路 最大化似然函数 最大似然估计MLE 带独立同分布噪音的线性测量模型 viv_ivi是高斯分布 viv_iv ...
- 第一行代码学习笔记第七章——探究内容提供器
知识点目录 7.1 内容提供器简介 7.2 运行权限 * 7.2.1 Android权限机制详解 * 7.2.2 在程序运行时申请权限 7.3 访问其他程序中的数据 * 7.3.1 ContentRe ...
最新文章
- ectouch java_ectouch第七讲 之ECshop模板机制整理
- Android布局之weight属性解析
- linux系统内核从3.2.0-100-generic升级到3.13版本
- 【Python 标准库学习】时间相关的函数库 — time
- 从零打造一个程序员的mac
- 【C++函数】strcat()
- 阶段3 1.Mybatis_08.动态SQL_01.mybatis中的动态sql语句-if标签
- sqlplus无密码登录TNS协议适配器错误
- 银联无卡涉及关键词整理
- 江恩买卖规则中的定性与定量分析方法
- php确保多进程同时写入一个文件,php多进程读写同一个文件锁的问题及flock详解...
- python如何导入背景图片_背景图片的正确导入方式
- 红米android刷机在哪,红米手机怎么刷机 红米手机刷机教程大全
- 【渝粤教育】电大中专新媒体营销实务 (8)作业 题库
- SALSA:基于Hi-C辅助组装长读长组装结果
- Unity3D游戏开发入门学习笔记
- NUMA为何成为云计算的关键技术
- 数据结构 基本概念(数据项--数据元素--数据对象-数据类型-抽象数据类型)
- 第3节 三个败家子(3)——被忽略的刘备之子
- chrome浏览器被360流氓捆绑,如何解决?
热门文章
- 聪明贝塔(Smart Beta)
- 开源跨平台的Fuchsia操作系统
- 毕业题目:Matlab GUI界面
- 【优化算法】混沌单纯形法算子布谷鸟搜索优化算法【含Matlab源码 1193期】
- 【动力学】基于matlab GUI汽车分析仿真系统【含Matlab源码 1112期】
- 【车间调度】基于matlab粒子群算法求解生产调度问题【含Matlab源码 485期】
- dask 于数据分析_利用Dask ML框架进行欺诈检测-端到端数据分析
- pycharm:修改项目的python版本
- VS2017:无法安装Win10SDK_10.0.15063.UWP.Native、无法安装Microsoft.VisualC.Redist.12
- 例4.3 数制转换 - 九度教程第44题(进制转换)