关于 FROM tableA,tableB 和 tableA LEFT JOIN tableB on 的区别
关于 FROM tableA,tableB 和 tableA LEFT JOIN tableB on 的区别
例表a
aid adate
1 a1
2 a2
3 a3
表b
bid bdate
1 b1
2 b2
4 b4
两个表a,b相连接,要取出id相同的字段
select * from a inner join b on a.aid = b.bid这是仅取出匹配的数据.
此时的取出的是:
1 a1 b1
2 a2 b2
那么left join 指:
select * from a left join b on a.aid = b.bid
首先取出a表中所有数据,然后再加上与a,b匹配的的数据
此时的取出的是:
1 a1 b1
2 a2 b2
3 a3 空字符
同样的也有right join
指的是首先取出b表中所有数据,然后再加上与a,b匹配的的数据
此时的取出的是:
1 a1 b1
2 a2 b2
4 空字符 b4
LEFT JOIN 或 LEFT OUTER JOIN。
左向外联接的结果集包括 LEFT OUTER 子句中指定的左表的所有行,而不仅仅是联接列所匹配的行。如果左表的某行在右表中没有匹配行,则在相关联的结果集行中右表的所有选择列表列均为空值。
转载于:https://www.cnblogs.com/duadu/archive/2009/05/05/6335668.html
关于 FROM tableA,tableB 和 tableA LEFT JOIN tableB on 的区别相关推荐
- Python中threading的join和setDaemon的区别及用法 例子
Python中threading的join和setDaemon的区别及用法 Python多线程编程时,经常会用到join()和setDaemon()方法,今天特地研究了一下两者的区别. 1.join ...
- c++11中thread join和detach的区别
线程状态: 在一个线程的生存期内,可以在多种状态之间转换,不同的操作系统可以实现不同的线程模型,定义许多不同的线程状态,每个状态还可以包含多个子状态,但大体来说,如下几种状态是通用的: 1)就绪:参与 ...
- Python中threading的join和setDaemon的区别及用法[例子]
Python多线程编程时,经常会用到join()和setDaemon()方法,今天特地研究了一下两者的区别. 1.join ()方法:主线程A中,创建了子线程B,并且在主线程A中调用了B.join() ...
- left join和left semi join的联系和区别
** 转载:left join和left semi join的联系和区别 ** 1.联系 他们都是 hive join 方式的一种,join on 属于 common join(shuffle joi ...
- 面试官:说说left join和left semi join 两者有什么区别?
张工是一名程序员,主要是做java开发,有次到一家软件公司面试软件开发岗位,面试官问了他两个问题,其中有一个问题是这样的这样: 说说left join和left semi join 有什么区别? 对于 ...
- SAP ABAP CDS view 里 INNER JOIN 和 Association 的区别
最近有朋友在我的知识星球里向我提问,SAP ABAP CDS view 的 INNER JOIN 和 Association 的功能可以理解为一样吗? (关于加入我的知识星球的方式,请移步本文文末) ...
- left join on and 和 left join on where的区别
一.left join on on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录. 二.left join on and (1)如果and语句是对左表进行过滤的,那 ...
- sql join 与where的区别
转载:http://blog.chinaunix.net/uid-27570589-id-3771152.html 今天在分析一个sql语句的时候 发现 left join 与where a=b(+) ...
- 转载:left join和left semi join的联系和区别
1.联系 他们都是 hive join 方式的一种,join on 属于 common join(shuffle join/reduce join),而 left semi join 则属于 map ...
- Python中threading的join和setDaemon的区别及用法
Python多线程编程时经常会用到join()和setDaemon()方法,基本用法如下: join([time]): 等待至线程中止.这阻塞调用线程直至线程的join() 方法被调用中止-正常退出或 ...
最新文章
- bigswitch公司
- pytorch 打印模型参数
- DICOM医学图像处理:DICOM存储操作之“多幅BMP图像数据存入DCM文件”
- CCNA第二学期中文final
- rsync 同步文件重复拷贝问题
- AngularJS-liveRoomDirective.js 直播间指令
- 卢松松分享独立博客运营推广经验
- C++复习 auto
- 图卷积网络进行骨骼识别代码_深兰科学院:动作识别——人体骨架时空图卷积网络的关节图构造方法简介...
- bzoj 1604: [Usaco2008 Open]Cow Neighborhoods 奶牛的邻居(切比雪夫距离+multiset贪心+并查集)
- 《疯狂Java讲义》(七)---- 方法
- redis java 视频教程_redis从入门到精通视频教程【50讲全】
- PLC编程的要求有哪些?
- android listview 刷新 闪烁,listview刷新 怎样防止Listview刷新闪烁
- go liteIDE 快捷键
- 360插件化踩坑记录(二),RePlugin安装、启动插件无反应
- post 防篡改_如何防止http请求数据被篡改
- 关于Ultraiso无法写入硬盘映像的相关解决办法
- Android之四大组件之一-BroadcastReceiver的使用(二)
- 【重读.转】黑客帝国中的佛法义理
热门文章
- Java中单例设计模式总结
- [js]promise学习2
- C++ 牛客网普及组第二次测试B
- BZOJ 3384: [Usaco2004 Nov]Apple Catching 接苹果( dp )
- 撩开云计算神秘面纱之阿里云弹性计算服务篇
- Android 创建与解析XML(三)—— Sax方式
- 设计模式之一:单例模式SingleTon
- 应对需求变更的软件的设计——我的想法
- 03JavaScript程序设计修炼之道_2019-06-18_21-27-56_事件onchange
- 分组在re模块中的使用