1. 假设有AB两个表。
  2.  
  3. A记录如下:
  4. aID aNum
  5. 1 a20050111
  6. 2 a20050112
  7. 3 a20050113
  8. 4 a20050114
  9. 5 a20050115
  10.  
  11. B记录如下:
  12. bID bName
  13. 1 2006032401
  14. 2 2006032402
  15. 3 2006032403
  16. 4 2006032404
  17. 8 2006032408
  18.  
  19. --------------------------------------------
  20. 1.left join
  21. sql语句如下:
  22. select * from A
  23. left join B
  24. on A.aID = B.bID
  25.  
  26. 结果如下:
  27. aID aNum bID bName
  28. 1 a20050111 1 2006032401
  29. 2 a20050112 2 2006032402
  30. 3 a20050113 3 2006032403
  31. 4 a20050114 4 2006032404
  32. 5 a20050115 NULL NULL
  33.  
  34. (所影响的行数为 5 行)
  35. 结果说明:
  36. left join是以A表的记录为基础的,A可以看成左表,B可以看成右表,left join是以左表为准的.
  37. 换句话说,左表(A)的记录将会全部表示出来,而右表(B)只会显示符合搜索条件的记录(例子中为: A.aID = B.bID).
  38. B表记录不足的地方均为NULL.
  39. --------------------------------------------
  40. 2.right join
  41. sql语句如下:
  42. select * from A
  43. right join B
  44. on A.aID = B.bID
  45.  
  46. 结果如下:
  47. aID aNum bID bName
  48. 1 a20050111 1 2006032401
  49. 2 a20050112 2 2006032402
  50. 3 a20050113 3 2006032403
  51. 4 a20050114 4 2006032404
  52. NULL NULL 8 2006032408
  53.  
  54. (所影响的行数为 5 行)
  55. 结果说明:
  56. 仔细观察一下,就会发现,和left join的结果刚好相反,这次是以右表(B)为基础的,A表不足的地方用NULL填充.
  57. --------------------------------------------
  58. 3.inner join
  59. sql语句如下:
  60. select * from A
  61. innerjoin B
  62. on A.aID = B.bID
  63.  
  64. 结果如下:
  65. aID aNum bID bName
  66. 1 a20050111 1 2006032401
  67. 2 a20050112 2 2006032402
  68. 3 a20050113 3 2006032403
  69. 4 a20050114 4 2006032404
  70.  
  71. 结果说明:
  72. 很明显,这里只显示出了 A.aID = B.bID的记录.这说明inner join并不以谁为基础,它只显示符合条件的记录.
  73. --------------------------------------------
  74. PS:
  75. LEFT JOIN操作用于在任何的 FROM 子句中,组合来源表的记录。使用 LEFT JOIN 运算来创建一个左边外部联接。左边外部联接将包含了从第一个(左边)开始的两个表中的全部记录,即使在第二个(右边)表中并没有相符值的记录。
  76.  
  77. 语法:FROM table1 LEFT JOIN table2 ON table1.field1 compopr table2.field2
  78.  
  79. 说明:table1, table2参数用于指定要将记录组合的表的名称。
  80. field1, field2参数指定被联接的字段的名称。且这些字段必须有相同的数据类型及包含相同类型的数据,但它们不需要有相同的名称。
  81. compopr参数指定关系比较运算符:"=" "<" ">" "<=" ">=" "<>"
  82. 如果在INNER JOIN操作中要联接包含Memo 数据类型或 OLE Object 数据类型数据的字段,将会发生错误
  83.  
  84. 转载:https://www.cnblogs.com/protected/p/6413326.html

sql 左连接与右连接的更多相关文章

  1. sql左连接,右连接,内连接

    1.sql查询时什么叫左连接和右连接    左连接和右连接都是外部连接,也就是区别于内部连接,它对不满足连接条件的行并不是象内部连接一样将数据完全过滤掉,而是保留一部分数据,行数不会减少.    左或 ...

  2. SQL 连接 JOIN 例解。(左连接,右连接,全连接,内连接,交叉连接,自连接)

    SQL 连接 JOIN 例解.(左连接,右连接,全连接,内连接,交叉连接,自连接) 最近公司在招人,同事问了几个自认为数据库可以的应聘者关于库连接的问题,回答不尽理想-现在在这写写关于它们的作用假设有 ...

  3. Linq 和 SQL的左连接、右连接、内链接

    在我们工作中表连接是很常用的,但常用的有这三种连接方式:左连接.右连接.内链接 在本章节中讲的是1.如何在Linq中使用左连接,右连接,内连接. 2.三种连接之间的特点在哪? 3.Linq的三种连接语 ...

  4. Sql中的内连接,左连接以及右连接区别

    转自:http://pangaoyuan.javaeye.com/blog/713177 有两个表A和表B. 表A结构如下: Aid:int:标识种子,主键,自增ID Aname:varchar 数据 ...

  5. SQL中的左连接与右连接,内连接有什么不同

    SQL中的左连接与右连接,内连接有什么不同 我们来举个例子.天庭上面有一个管理系统:管理系统有个主表:主表记录着各个神仙的基本信息(我们把它当成表A).还有个表记录着他们这个神仙的详细信息(我们把它当 ...

  6. SQL Server中的连接查询【内连接,左连接,右连接,。。。】

    在查询多个表时,我们经常会用“连接查询”.连接是关系数据库模型的主要特点,也是它区别于其它类型数据库管理系统的一个标志. 什么是连接查询呢? 概念:根据两个表或多个表的列之间的关系,从这些表中查询数据 ...

  7. sql语句中的join连接(左连接、右连接、全连接、内连接)

    内部连接(inner join): select * from d_user a inner join D_ORGANIZATION b on a.COMPANY_XID=b.ID  内部链接也是排他 ...

  8. 最常用SQL joins:内连接(交集)、左外连接、右外连接、左连接、右连接、全连接(并集),全外连接

    1.内连接.两个表的公共部分用Inner join,Inner join是交集的部分. Select * from TableA A inner join TableB B on A.key=B.ke ...

  9. Oracle左连接、右连接、全外连接以及(+)号用法(转)

    +:与附带的字段相连,和“+”相连的字段值,不管是否存在,都会展示 也就是带上相连接的字段 有数据了就显示,没数据就显示为null Oracle  外连接(OUTER JOIN) 左外连接(左边的表不 ...

  10. 左连接,右连接,内连接(left join ,right join,inner join)

    浅谈左连接,右连接,内连接(left join ,right join,inner join) 这个问题一直困扰着我,每次遇到就打擦边球,不正面应对.今天索性把这几个连接搞懂了,写下这篇博客, 让跟我 ...

随机推荐

  1. 如何取消IDEA的自动删除行尾空格?

    使用IDEA,添加注释的时候敲空格,总是会把行尾空格删除导致代码跑到注释行,很不爽~~ 取消这个不爽的功能:File--Settings--Editor--General--Other--Strip ...

  2. (转)OpenGL学习——立方体贴图

    转自:https://learnopengl-cn.readthedocs.io/zh/latest/04%20Advanced%20OpenGL/06%20Cubemaps/ 我们之前一直使用的是2 ...

  3. 安装docker-ce与卸载(centos 7)

    1.安装依赖 docker依赖于系统的一些必要的工具,可以提前安装. 1 yum install -y yum-utils device-mapper-persistent-data lvm2 2.添 ...

  4. favicon.ico引用

    <link rel="shortcut icon" href="favicon.ico" type="image/x-icon"> ...

  5. ssh-key添加之后依旧需要密码输入Bug的解决

    场景重现 要求从10.183.93.181的root用户ssh免密登录至10.110.155.26的boss用户 1.在10.110.155.26 的boss用户下面新建目录.ssh 2.在10.11 ...

  6. 统计所有小于非负整数 n 的质数的数量,埃拉托斯特尼筛法

    素数的定义:质数又称素数.一个大于1的自然数,除了1和它自身外,不能被其他自然数整除的数叫做质数. 1.暴力算法: 令i=2; 当i<n的时候,我们循环找出2-i的质数,即让i%(2~i-1), ...

  7. Python爬虫实战—— Request对象之header伪装策略

    在header当中,我们经常会添加两个参数--cookie 和 User-Agent,来模拟浏览器登录,以此提高绕过后台服务器反爬策略的可能性. User-Agent获取 User-Agent可通过随 ...

  8. maven命令行创建项目问题

    今天在命令行下创建maven项目,使用的是create命令,但是一直失败,网上查找原因说archetype:create命令已经过期,需要使用 archetype:generate 来进行代替 加上了 ...

  9. JCF——Map

    Hashtable LinkedHashMap Properties

  10. build protobuf to a static library

    use ar cd src ar -cvq libprotobuf.a *.o