left join 和 left outer join 的区别

news/2024/7/5 1:45:02

老是混淆,做个笔记,转自: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


http://lihuaxi.xjx100.cn/news/235827.html

相关文章

ES5-Array-push(),pop(),shift(),unshift()

参考文章:push(),pop() push方法用于在数组的末端添加一个或多个元素,并返回添加新元素后的数组长度。 注意,该方法会改变原数组,而不是创建一个新的数组。var arr [];arr.push(1) // 1 arr.push(a) // 2 arr.push(tr…

2021年中国工业互联网安全大赛核能行业赛道writeup之usb流量分析

目录 一、USB协议 二、键盘流量 三、鼠标流量 四、writeup 附件题:usb流量分析 题目描述: 具体描述忘记了o(╯□╰)o 大概意思是有个U盘插到电脑上,然后经过一些操作导致该电脑重启了。找到这个过程中的flag。 附件下载: 20…

007-迅雷定时重启AutoHotkey脚本-20190411

;; 定时重启迅雷.ahk,;;~ 2019年04月11日;#SingleInstance,forceSetWorkingDir,%A_ScriptDir%DetectHiddenWindows,OnSetTitleMatchMode,2#Persistent ;让脚本持久运行(即直到用户关闭或遇到 ExitApp)。#NoEnv;~ #NoTrayIcon Hotkey,^F10,ExitThisApp lo…

2021年中国工业互联网安全大赛核能行业赛道writeup之入门的黑客

附件题:入门的黑客 题目描述: 在某次工控攻防演练中,防守方使用蜜罐捕捉到了某黑客在入侵时留下的恶意程序样本,现在要对该黑客进行画像,需要从该恶意程序中分析出反连时的IP和端口信息,看看聪明的你能否能…

eBCC性能分析最佳实践(1) - 线上lstat, vfs_fstatat 开销高情景分析 ...

Guide: eBCC性能分析最佳实践(0) - 开启性能分析新篇章eBCC性能分析最佳实践(1) - 线上lstat, vfs_fstatat 开销高情景分析eBCC性能分析最佳实践(2) - 一个简单的eBCC分析网络函数的latency敬请期待...0. I…

11.CCNA第十一天-配置OSPF/EIGRP(增强型内部网关协议)

配置OSPFBranch(config)#router ospf ?<1-65535> Process ID通配符掩码在IGP协议中&#xff0c;以连续的0和连续的1组成有一种不科学的称呼&#xff08;反掩码&#xff09;Branch#show running-config | section router ospfrouter ospf 10network 10.1.0.0 0.0.255.25…

Python脱产8期 Day02

一 语言分类 机器语言&#xff0c;汇编语言&#xff0c;高级语言&#xff08;编译和解释&#xff09; 二 环境变量 1、配置环境变量不是必须的2、配置环境变量的目的&#xff1a;为终端提供执行环境 三Python代码执行的方式 1交互式&#xff1a;.控制台直接编写运行python代码 …

MySQL02-升级

MySQL 版本号由三个数字和可选后缀组成&#xff0c;形式 mysql-x.y.z-suffix。比如 mysql-5.7.21 或者 mysql-5.7.34。 x(5)这位是大版本y(7)这位是小版本&#xff0c;大版本小版本组合成 5.7 就是一个发行版最后一位是bugfix release版本&#xff0c;从1逐渐增加&#xff0c;…