SQL on and 和 on where 的区别
on and 和 on where 的 区别
在使用 left join 时, on and 和 on where 会有区别;
1. on的条件是在连接生成临时表时使用的条件,以左表为基准 ,不管on中的条件真否,都会返回左表中的记录
on 后面 and 都是对右表进行筛选
2.where是全部连接完后,对临时表进行筛选,筛选对左表和右表都有效
在使用inner join时,on and与on where条件的区别:不管是对左表还是右表进行筛选,on and和on where都会对生成的临时表进行过滤。
1. 新建表 t1
2. 新建表 t2
3. 关联查询:
select * from t1 left join t2 on t1.user_id = t2.user_id
on and
a.) 对左表加and 条件
select * from t1 left join t2 on t1.user_id = t2.user_id and t1.deleted = 0
b.) 对右表加and 条件
select * from t1 left join t2 on t1.user_id = t2.user_id and t2.deleted = 0
on where
select * from t1 left join t2 on t1.user_id = t2.user_id where t1.deleted = 0
select * from t1 left join t2 on t1.user_id = t2.user_id where t2.deleted = 0
转载于:https://www.cnblogs.com/Uzai/p/11260361.html
SQL on and 和 on where 的区别相关推荐
- SQL Server 中 EXEC 与 SP_EXECUTESQL 的区别
SQL Server 中 EXEC 与 SP_EXECUTESQL 的区别 原文:SQL Server 中 EXEC 与 SP_EXECUTESQL 的区别 MSSQL为我们提供了两种动态执行SQL语 ...
- SQL Server中SCAN 和SEEK的区别
SQL Server中SCAN 和SEEK的区别 SQL SERVER使用扫描(scan)和查找(seek)这两种算法从数据表和索引中读取数据.这两种算法构成了查询的基础,几乎无处不在.Scan会扫描 ...
- SQL中char varchar nchar nvarchar ntext区别和使用(资料汇总)
SQL中char varchar nchar nvarchar ntext区别和使用(资料汇总) 2008年10月14日 星期二 23:57 一.SQL中char varchar nchar nvar ...
- SQL中的or与in的区别
SQL中的or与in的区别 or与in一样的案例(条件里只有a时) a in (1,2,3) a = 1 or a = 2 or a = 3 or与in不一样的案例(条件里不止a时) where a ...
- SQL Server 和 Oracle 以及 MySQL 的区别
SQL Server 和 Oracle 以及 MySQL 的区别 历史说明区别 > Oracle: 中文译作甲骨文,成立于1977年,早期的理论基础,反而来自于一篇IBM的论文<A Rel ...
- SQL、MySQL与HiveSQL的使用区别ing
SQL.MySQL与HiveSQL的使用区别 1 查询结果前10条数据 2 返回是周几的函数 3 查看表结构数量 4 获取当前时间 5 从数据库定位到某张表 6 分号字符: 7 IS [NOT] NU ...
- sql server 登录名和用户名的区别和联系
sql server 登录名和用户名的区别和联系 总括:登录名可以理解为进入整个大楼的钥匙,用户名可以理解为一个房间的钥匙,这里所说的大楼就是sql server服务器,而房间就是这个sql se ...
- SQL SERVER 中的smalldatetime和datetime区别
SQL SERVER 中的smalldatetime和datetime区别 原文:SQL SERVER 中的smalldatetime和datetime区别 smalldatetime不能到秒. 不 ...
- SQL Server企业版/标准版/个人版的区别
SQL Server企业版/标准版/个人版的区别 http://blog.163.com/meteor_zc/blog/static/33150220200811291738603/ SQL Serv ...
- mysql oracle sql区别吗_mysql数据库的SQL语句和oracle的有什么区别?详细点
匿名用户 1级 2017-08-20 回答 区别如下: 1. Oracle是大型数据库而Mysql是中小型数据库,Oracle市场占有率达40%,Mysql只有20%左右,同时Mysql是开源的而Or ...
最新文章
- 精通 Oracle+Python 存储过程、Python 编程
- 归并排序执行次数_十大排序算法,看这篇就够了
- Android的init过程:init.rc解析流程
- Python编程专属骚技巧3
- Keras报错:`Dense` can accept only 1 positional arguments ('units',), but you passed the followin.....
- 转自: http://blog.csdn.net/xiaxiaorui2003/article/details/3838631
- 基环树DP(bzoj 1040: [ZJOI2008]骑士)
- STL在数组算法的使用
- 关于 printf(%*.*s/n,m,n,ch) 的问题
- 【Django 2021年最新版教程35】python+request+unittest 对Django接口进行测试
- URLDecoder用法
- mac os模拟器linux,Mac系统如何启动iOS模拟器 快速启动iOS模拟器教程
- java导出帆软pdf,java后台把fineRepo图表导出pdf格式时发生错误!
- Android 9(API级别28)特性总结
- 华为交换机如何恢复出厂设置
- 微信支付小程序支付和APP支付
- 台式计算机多少g的显卡怎么看,怎样看电脑配置|怎样看电脑显卡配置?
- R数据加工厂-plyr包
- 微型计算机断电后信息将会丢失,2018年职称计算机考试题库(20)
- oracle vm virtualbox u盘启动,在virtualbox用u盘启动 综合
热门文章
- KDD 2021 | Neural Auction: 电商广告中的端到端机制优化方法
- c语言在dos下执行bat文件,应用dos批处理文件经常用到的DOS常用命令
- 【编译原理】文法分类
- 抖音云控_抖音云控/快手云控:引领5G电商短视频新潮流
- 保镖机器人作文_我的小保镖作文500字
- java list 接口_Java 集合 List接口
- Linux下载源码编译出错,linux下fortran中编译代码时“undefined reference to `_gfortran_st_”错误...
- 解决Ubuntu IDEA 不能输入中文
- codeforce 266c Below the Diagonal 矩阵变换 (思维题)
- java个人支付系统(springboot)