关于 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 的区别相关推荐

  1. Python中threading的join和setDaemon的区别及用法 例子

    Python中threading的join和setDaemon的区别及用法 Python多线程编程时,经常会用到join()和setDaemon()方法,今天特地研究了一下两者的区别. 1.join ...

  2. c++11中thread join和detach的区别

    线程状态: 在一个线程的生存期内,可以在多种状态之间转换,不同的操作系统可以实现不同的线程模型,定义许多不同的线程状态,每个状态还可以包含多个子状态,但大体来说,如下几种状态是通用的: 1)就绪:参与 ...

  3. Python中threading的join和setDaemon的区别及用法[例子]

    Python多线程编程时,经常会用到join()和setDaemon()方法,今天特地研究了一下两者的区别. 1.join ()方法:主线程A中,创建了子线程B,并且在主线程A中调用了B.join() ...

  4. left join和left semi join的联系和区别

    ** 转载:left join和left semi join的联系和区别 ** 1.联系 他们都是 hive join 方式的一种,join on 属于 common join(shuffle joi ...

  5. 面试官:说说left join和left semi join 两者有什么区别?

    张工是一名程序员,主要是做java开发,有次到一家软件公司面试软件开发岗位,面试官问了他两个问题,其中有一个问题是这样的这样: 说说left join和left semi join 有什么区别? 对于 ...

  6. SAP ABAP CDS view 里 INNER JOIN 和 Association 的区别

    最近有朋友在我的知识星球里向我提问,SAP ABAP CDS view 的 INNER JOIN 和 Association 的功能可以理解为一样吗? (关于加入我的知识星球的方式,请移步本文文末) ...

  7. left join on and 和 left join on where的区别

    一.left join on on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录. 二.left join on and (1)如果and语句是对左表进行过滤的,那 ...

  8. sql join 与where的区别

    转载:http://blog.chinaunix.net/uid-27570589-id-3771152.html 今天在分析一个sql语句的时候 发现 left join 与where a=b(+) ...

  9. 转载:left join和left semi join的联系和区别

    1.联系 他们都是 hive join 方式的一种,join on 属于 common join(shuffle join/reduce join),而 left semi join 则属于 map ...

  10. Python中threading的join和setDaemon的区别及用法

    Python多线程编程时经常会用到join()和setDaemon()方法,基本用法如下: join([time]): 等待至线程中止.这阻塞调用线程直至线程的join() 方法被调用中止-正常退出或 ...

最新文章

  1. bigswitch公司
  2. pytorch 打印模型参数
  3. DICOM医学图像处理:DICOM存储操作之“多幅BMP图像数据存入DCM文件”
  4. CCNA第二学期中文final
  5. rsync 同步文件重复拷贝问题
  6. AngularJS-liveRoomDirective.js 直播间指令
  7. 卢松松分享独立博客运营推广经验
  8. C++复习 auto
  9. 图卷积网络进行骨骼识别代码_深兰科学院:动作识别——人体骨架时空图卷积网络的关节图构造方法简介...
  10. bzoj 1604: [Usaco2008 Open]Cow Neighborhoods 奶牛的邻居(切比雪夫距离+multiset贪心+并查集)
  11. 《疯狂Java讲义》(七)---- 方法
  12. redis java 视频教程_redis从入门到精通视频教程【50讲全】
  13. PLC编程的要求有哪些?
  14. android listview 刷新 闪烁,listview刷新 怎样防止Listview刷新闪烁
  15. go liteIDE 快捷键
  16. 360插件化踩坑记录(二),RePlugin安装、启动插件无反应
  17. post 防篡改_如何防止http请求数据被篡改
  18. 关于Ultraiso无法写入硬盘映像的相关解决办法
  19. Android之四大组件之一-BroadcastReceiver的使用(二)
  20. 【重读.转】黑客帝国中的佛法义理

热门文章

  1. Java中单例设计模式总结
  2. [js]promise学习2
  3. C++ 牛客网普及组第二次测试B
  4. BZOJ 3384: [Usaco2004 Nov]Apple Catching 接苹果( dp )
  5. 撩开云计算神秘面纱之阿里云弹性计算服务篇
  6. Android 创建与解析XML(三)—— Sax方式
  7. 设计模式之一:单例模式SingleTon
  8. 应对需求变更的软件的设计——我的想法
  9. 03JavaScript程序设计修炼之道_2019-06-18_21-27-56_事件onchange
  10. 分组在re模块中的使用