sql中where条件里的or与and的关系
在sql中的where条件里,or与and的关系相当于小学里的加法与除法(或者乘法)的关系
1、例如 select * from user a where a.id=123 or a.id=456 相当于
select * from user a where a.id=123 的结果集 加上 select * from user a where a.id=456 的结果集
2、例如 select * from user a where a.sex='男' and a.age<18 相当于
select * from user a 的结果集 除以 条件“sex=‘男’” 的结果集
再用上面的结果集 接着除以 条件“age<18” 最后得到的结果集
3、例如 select * from user a where a.sex='男' and a.age<18 or a.id=123
就是 先算乘除法 再算加减法
select * from user a 除以 条件(sex='男' and age<18)
再加上
select * from user a where a.id=123
最后得到的结果集
4、例如 select * from user a where a.sex='男' and (a.age<18 or a.id=123)
这里就是有括号 先算括号里面的 select * from user a where a.age<18 的结果集 加上 select * from user a where a.id=123 得到的和
再除以条件“sex='男'” 最后得到的结果集
5、例4可以通过乘法分配率改写成 select * from user a where a.sex='男' and a.age<18 or a.sex='男' and a.id=123
6、例5可以通过提取公因式改写成例4的形式
select * from user a where a.sex='男' and (a.age<18 or a.id=123)
或者 select * from user a where (a.age<18 or a.id=123) and a.sex='男' (运用乘法交换律)
原文地址:https://www.cnblogs.com/happydaytome/p/15038255.html
- 初学File类
- R语言学习 - 图形设置中英字体
- 递归思想解决输出目录下的全部文件
- Linux学习 - 又双叒叕一个软件安装方法
- 在Python中实现你自己的推荐系统
- 在Java中如何实现“Pless presss any key to continue.”
- 震惊小伙伴的Python单行代码
- 如何打造一款可靠的WAF(Web应用防火墙)
- 为啥我的Python这么慢 (一)
- 矩阵的基本知识构造重复矩阵的方法——repmat(xxx,xxx,xxx)构造器的构造方法单位数组的构造方法指定公差的等差数列指定项数的等差数列指定项数的lg等差数列sub2ind()从矩阵索引==》
- 简单的Writer和ReaderWriter的主要方法Writer工作原理Reader的主要方法readLine():String
- 为啥我的Python这么慢 - 项查找 (二)
- 初识字节流+实现缓冲字节流OutputStream的主要方法构造方法读关流实现BufferedInputStream实现BufferedOutputStream为什么read()返回的是Int型而不是
- Properties+重温Map+本地计数器Map方法Properties的方法用Properties的好处
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- ASP.NET WebAPI 中的参数绑定
- Qt音视频开发7-ffmpeg音频播放
- 本地 Docker Registry 的安装与使用
- 安装 Docker 环境
- 为生产环境编译 Angular 2 应用
- 剑指offer 03:二维数组中的查找
- 《剑指offer》04:替换空格
- 《剑指offer》05: 从尾到头打印链表
- 《剑指offer》第六天:重建二叉树
- Android | 《看完不忘系列》之Glide
- Android | 资源冲突覆盖的一些思考
- 如何获取流式应用程序中checkpoint的最新offset
- Spark之离线统计热点城市信息
- 使用OpenCV实现图像增强
- typescript基础篇(4):函数