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关闭不常用端口
  • 翻页电子书生成器如何在电子杂志页面添加链接
  • 热门搜索
    荠菜怎么做最好吃 公务员考试怎么报名 五谷磨房的东西怎么样 怎么钓鲫鱼 中华保险怎么样 烧纸怎么写 眼睛斜视怎么矫正 照片怎么换背景 泪沟怎么去除 怎么拍月亮