left join、right join、inner join的区别

 时间:2026-02-14 03:09:52

1、(1)left join

sql语句如下:

select * from A

left join B

on A.aID = B.bID

结果如下:

aID          aNum          bID          bName

1             a20050111    1             2006032401

2      披晃       a20050112    2             2006032402

3             a20050113    3             2006032403

4  喝召           a20050114    4             2006032404

5             a20050115    NULL       NULL

(所影响的行数为 5 行)

--------------------------------------------

结果说明:

left join是以A表的记录为基础的,A可以看成左表,B可以看成右表,left join是以左表为准的.

换句话说,左表(A)的记录将会全部表示出来,而右表(B)只会显示符合搜索条件舍低摸的记录(例子中为: A.aID = B.bID).

B表记录不足的地方均为NULL.

2、(2)right join

sql语句如下:

select * from A

right join B

on A.aID = B.bID

结果如下:

aID          aNum          bID          bName

1             a20050111    1             2006032401

2             a20050112    2             2006032402

3             a20050113    3             2006032403

4             a20050114    4             2006032404

NULL      NULL             8             2006032408

(所影响的行数为 5 行)

--------------------------------------------

结果说明:

仔细观察一下,就会发现,和left join的结果刚好相反,这次是以右表(B)为基础的,A表不足的地方用NULL填充.

3、(3)inner join

sql语句如下:

select * from A

inner join B

on A.aID = B.bID

结果如下:

aID          aNum          bID          bName

1             a20050111    1             2006032401

2             a20050112    2             2006032402

3             a20050113    3             2006032403

4             a20050114    4             2006032404

结果说明:

很明显,这里只显示出了 A.aID = B.bID的记录.这说明inner join并不以谁为基础,它只显示符合条件的记录.

--------------------------------------------

注:

LEFT JOIN操作用于在任何的 FROM 子句中,组合来源表的记录。使用 LEFT JOIN 运算来创建一个左边外部联接。左边外部联接将包含了从第一个(左边)开始的两个表中的全部记录,即使在第二个(右边)表中并没有相符值的记录。

  • mac chrome怎么设置无痕模式下阻止第三方cookie
  • layui 如何隐藏一列
  • 跟团旅游出现问题该怎样投诉?
  • window10关闭不常用端口
  • 翻页电子书生成器如何在电子杂志页面添加链接
  • 热门搜索
    落枕怎么办简单快速的有效方法 河南工业大学怎么样 路由器dns怎么设置 肇事逃逸怎么处理 得了鼻炎怎么办 三国群英传7怎么玩 白色衣服发黄怎么洗白 高汤怎么做 淘宝公益宝贝怎么设置 wps表格怎么求和