表之间关联问题

左关联: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

 

 

 

 

posted @ 2018-06-06 14:17  magouyw  阅读(222)  评论(0编辑  收藏  举报