join
innerJoin
leftJoin
rightJoin
innerJoin
(内连接,或等值连接):获取两个表中字段匹配关系的记录,相当于求交集。leftJoin
(左连接,或外左连接):获取左表所有记录,即使右表没有对应匹配的记录。rightJoin
(右连接,或外右连接): 与 LEFT JOIN 相反,用于获取右表所有记录,即使左表没有对应匹配的记录。
tableA
id | share_uid |
---|---|
1 | 1234567 |
2 | 7654321 |
tableB
id | share_uid | group_uid |
---|---|---|
1 | 1234567 | 11111 |
2 | 1234567 | 22222 |
3 | 1212121 | 33333 |
innerJoin (等同join
)
相当于求两张表的交集:
// sql语句
select 'share_uid' 'group_uid'
from tableA
inner join tableB
where tableA.share_uid = tableB.share_uid
结果
share_uid | group_uid |
---|---|
1234567 | 11111 |
1234567 | 22222 |
leftJoin
取左边表的全部值,右边表的交集值:
// sql语句
select 'share_uid' 'group_uid'
from tableA
left join tableB
where tableA.share_uid = tableB.share_uid
结果
share_uid | group_uid |
---|---|
1234567 | 11111 |
1234567 | 22222 |
7654321 |
rightJoin
取右边表的全部值,右边表的交集值:
// sql语句
select 'share_uid' 'group_uid'
from tableA
right join tableB
where tableA.share_uid = tableB.share_uid
结果
share_uid | group_uid |
---|---|
1234567 | 11111 |
1234567 | 22222 |
1212121 | 33333 |
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。