left join、right join、inner join的区别

来源:互联网 发布:罗志祥人品知乎 编辑:程序博客网 时间:2024/06/01 20:27

left join 左联接查询: 以左表为基础,执行数据查询,联接表中,联结字段相等的记录,链接字段相等的记录数据做笛卡尔乘法。

right join 右边联接查询: 以右表为基础,执行数据查询,联接表中,联结字段相等的记录,链接字段相等的记录数据做笛卡尔乘法。

inner join  内连接查询: 返回两个表中联结字段相等的数据,同样记录数也是做笛卡尔乘法。

 

举例说明:

--------------------------------------------
表tab_1记录如下:
ID     name
1     OK1

2     OK2

3     OK2

4                    ASDF

表tab_2记录如下:
ID     name
1     OK1

2     TEST

3     OK2

4     OK2

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

左连接查找:select * from tab_1  A left join tab_2 B  on A.name = B.name

查找结果:

 1            OK1        1       OK1      
 2            OK2        3       OK2      
 2            OK2        4       OK2      
 3            OK2        3       OK2      
 3            OK2        4       OK2   

 4           ASDF       null   null 

   

右连接查找:select * from tab_1  A right join tab_2 B  on A.name = B.name

查找结果:

 1              OK1        1        OK1       
 null          null         2        TEST     
 2              OK2        3        OK2      
 3              OK2        3        OK2      
 2              OK2        4        OK2      
 3              OK2        4        OK2  

    

内连接查找:select * from tab_1  A inner join tab_2 B  on A.name = B.name

查找结果:

 1              OK1        1        OK1      
 2              OK2        3        OK2      
 2              OK2        4        OK2      
 3              OK2        3        OK2      
 3              OK2        4        OK2        

 

 

 

 

 

 

 

 

 

原创粉丝点击