left join 和 left outer join 的区别
老是混淆,做个笔记,转自:https://www.cnblogs.com/xieqian111/p/5735977.html
left join 和 left outer join 的区别 通俗的讲: A left join B 的连接的记录数与A表的记录数同 A right join B 的连接的记录数与B表的记录数同 A left join B 等价B right join A table A: Field_K, Field_A 1 a 3 b 4 c table B: Field_K, Field_B 1 x 2 y 4 z select a.Field_K, a.Field_A, b.Field_K, b.Field_B from a left join b on a.Field_K=b.Field_K Field_K Field_A Field_K Field_B ---------- ---------- ---------- ---------- 1 a 1 x 3 b NULL NULL 4 c 4 z select a.Field_K, a.Field_A, b.Field_K, b.Field_B from a right join b on a.Field_K=b.Field_K Field_K Field_A Field_K Field_B ---------- ---------- ---------- ---------- 1 a 1 x NULL NULL 2 y 4 c 4 z --举个例子: 假设a表和b表的数据是这样的。 a b id name id stock 1 a 1 15 2 b 2 50 3 c select * from a inner join b on a.id=b.id 这个语法是连接查询中的内连接,它产生的结果是 两个表相匹配的记录出现在结果列表中。 根据上面的表,出现的结果是这样的 a.id name b.id stock 1 a 1 15 2 b 2 50 ---------------------------- select * from a,b where a.id=b.id 这个语法是内连接的另外一种写法,其执行结果与inner join 一样 -------------------------------- select * from a left/right join b on a.id=b.id 这个是外连接语法中的左外连接或右外连接 如果是左外连接的话,它将显示a表的所有记录, select a.*,b.* from a left join b on a.id=b.id 查询的结果是这样的: a.id name b.id stock 1 a 1 15 2 b 2 50 3 c null null -------------------------------------------- 如果是右外连接的话,它将显示b表的所有记录, select a.*,b.* from a right join b on a.id=b.id 查询的结果是这样的: a.id name b.id stock 1 a 1 15 2 b 2 50 --select a.*,b.* from a left join b on a.k = b.k select a.*,b.* from a left outer join b on a.k =b.k ----------上面两种一样left join是left outer join的简写 select a.*,b.* from a left inner join b on a.k = b.k 没有这种写法,错误的语句.--在你要使用多个left join的时候 比如说10个 我们把10个全都写成left join的形式 然后再SQL让他自动运行一下,它会把最后一次出现的left join变成left outer join 所以依此推理,最后一个left join会以left outer join的形式存在 当然,不管变不变对结果的显示没有任何影响 希望我的实验能对你有所帮助
转载于:https://www.cnblogs.com/YLQBL/p/10683727.html
left join 和 left outer join 的区别相关推荐
- left join 和 left outer join 的区别【转】
通俗的讲: A left join B 的连接的记录数与A表的记录数同 A right join B 的连接的记录数与B表的记录数同 A ...
- Mysql: 图解 inner join、left join、right join、full outer join、union、union all的区别
对于SQL的Join,在学习起来可能是比较乱的.我们知道,SQL的Join语法有很多inner的,有outer的,有left的,有时候,对 于Select出来的结果集是什么样子有点不是很清楚.Codi ...
- 图解SQL inner join、left join、right join、full outer join、union、union all的区别
对于SQL的Join,在学习起来可能是比较乱的.我们知道,SQL的Join语法有很多inner的,有outer的,有left的,有时候,对 于Select出来的结果集是什么样子有点不是很清楚.Codi ...
- 【转】left join 和 left outer join 的区别
left join 和 left outer join 的区别 通俗的讲: A left join B 的连接的记录数与A表的记录数同 A right join ...
- Introduction to Oracle9i: SQL------- left join 和 left outer join 的区别
left join 和 left outer join 的区别 通俗的讲: A left join B 的连接的记录数与A表的记录数同 A right join ...
- mysql left outer join_关于mysql中的left join和left outer join的区别
关于mysql中的left join和left outer join的区别 LEFT JOIN是LEFT OUTER JOIN的简写版; 内连接(INNER JOIN) :只连接匹配的行; 左外连接( ...
- left join和left outer join 有什么区别?这样解释通俗易懂
作为一名java程序员,求职面试时也会遇到mysql问题,有次我到一家软件面试,就遇到有一道笔试题是考核关于sql 的. left join和left outer join 有什么区别? 关于left ...
- oracle sql outer join,解答Oracle LEFT JOIN和LEFT OUTER JOIN的区别
问:我一直在对不同种类的Oracle连接做研究,目前还搞不清楚LEFT JOIN和LEFT OUTER JOIN之间有什么区别.Outer这个词是可选的么?因为Oracle中的LEFT JOIN是默认 ...
- left join 和 left outer join 有什么区别
left join 是left outer join的简写,left join默认是outer属性的. Inner Join 逻辑运算符返回满足第一个(顶端)输入与第二个(底端)输入联接的每一行.这个 ...
最新文章
- (转)spring源码解析,spring工作原理
- php指定时间显示内容,织梦用php判断某个时间段显示和隐藏内容
- 【图片和pdf】相关网站
- SAP Spartacus产品明细页面用Observable显示产品名称
- 【经典回放】多种语言系列数据结构算法:二叉树(JavaScript版)
- 7-11 租用游艇问题 (15 分)(思路+详解+一步步分析+网格解决动态规划问题)Come boy!!!!
- 选择排序 自带时间复杂度分析
- Go面试题 | []int 能转换为 []interface 吗?
- 【论文阅读】Multisource Transfer Learning With Convolutional Neural Networks for Lung Pattern Analysis
- ajax 数据data,ajax取出data数据库
- 用脚踹?地震火灾中,如何快速打开人脸识别闸机门?
- css3漂亮的渐变图案,CSS3 带渐变图案的圆球
- UIBlock 按钮图片设置
- adsl拨号php,Linux_Linux系统创建ADSL拨号上网方法介绍,在使用linux创建adsl拨号连接之 - phpStudy...
- 什么是a站、b站、c站、d站、e站、f站、g站、h站、i站、j站、k站、l站、m站、n站…z站?...
- 厦门理工学院1219 (zyf的童年) (纯C语言版本)
- matlab弹簧振子的阻尼振动,matlab阻尼振动模拟
- Java实现蜗牛爬井的问题
- PymongoDB报错MongoError: The dotted field .. is not valid for storage
- 解析几何----双曲线左支极坐标方程
热门文章
- GDB attach到进程
- Linux下C++中可使用的3种Hook方法
- 提高C++性能的编程技术笔记:引用计数+测试代码
- 【Qt】新安装的虚拟机,使用QtCreator第一次编译时报错:g++: Command not found
- 计算机命令vty是什么意思,讲述华为交换机配置中HTTP访问和vty访问命令 -电脑资料...
- 有n个学生选修了c语言程序设计这门课程,C语言程序设计报告学生选修课系统(18页)-原创力文档...
- linux命令注入,Linux kernel本地命令注入漏洞
- input 默认样式的修改
- seg:NLP之正向最大匹配分词
- SQLServer之ISO游标使用