現有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,想了一下下,然後寫了今天這篇,感覺文字與表相結合的表現方式,以後再回過來看,可能會更易了解了一點點。