表之间关联问题
左关联:select * from A a left join B b on a.id =b.id
A为左表B为右表
左关联是指以左边表为基准,列出A表中找到的所有数据,B表只列出a.id =b.id 条件成立的数据,B不足补为null
表A记录如下:
aID aNum
1 a20050111
2 a20050112
3 a20050113
5 a20050115
表B记录如下:
bID bName
1 2006032401
2 2006032402
3 2006032403
8 2006032408
结果如下:
aID aNum bID bName
1 a20050111 1 2006032401
2 a20050112 2 2006032402
3 a20050113 3 2006032403
5 a20050115 NULL NULL
右关联:select * from A a right join B b on a.id =b.id
A为左表B为右表
右关联是指以右边表为基准,列出B表中找到的所有数据,A表只列出a.id =b.id 条件成立的数据,A不足补为null
结果如下:
aID aNum bID bName
1 a20050111 1 2006032401
2 a20050112 2 2006032402
3 a20050113 3 2006032403
NULL NULL 8 2006032408
内关联:select * from A a right join B b on a.id =b.id
以a.id =b.id条件为基准,条件成立有多少条就显示多少条
结果如下:
aID aNum bID bName
1 a20050111 1 2006032401
2 a20050112 2 2006032402
3 a20050113 3 2006032403
参考:https://blog.csdn.net/hj7jay/article/details/51749863