SQL连接方式(左连接、右连接、内连接、外连接)

现有Table_a、Table_b 两张表,详细如下表所示:
Table_a

id name
a1 张三
a2 李四
a3 王五

Table_b

id a_id no
b1 a1 1001
b2 a5 1002
b3 a6 1003
b4 a7 1004

1.左连接(left join):查询结果为Table_a表中的所有列。

左连接:
 select a.name, b.no
    from Table_a a
    left join Table_b b on a.id = b.a_id

查询结果:

name no
张三 1001
李四 null
王五 null

2.右连接(ringht join):查询结果为Table_b表中的所有列。

右连接:
 select a.name, b.no
    from Table_a a
    right join Table_b b on a.id = b.a_id

查询结果:

name no
张三 1001
null 1002
null 1003
null 1004

3.内连接(inner join):查询结果为Table_a表,Table_b表中共有的列。

内连接:
 select a.name, b.no
    from Table_a a
    inner join Table_b b on a.id = b.a_id

查询结果:

name no
张三 1001

4.外连接(outer join):查询结果为Table_a表,Table_b表中所有的列。

外连接:
 select a.name, b.no
    from Table_a a
    outer join Table_b b on a.id = b.a_id

查询结果:

name no
张三 1001
李四 null
王五 null
null 1002
null 1003
null 1004

在实际使用中再次遇到,看了一下以前写的https://blog.csdn.net/weixin_39548940/article/details/76269552,想了一下下,然后写了今天这篇,感觉文字与表相结合的表现方式,以后再回过来看,可能会更易理解了一点点。

猜你喜欢

转载自blog.csdn.net/weixin_39548940/article/details/86673332