2

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

朱珍珍
75 声望7 粉丝

毕业于重庆邮电大学,暂就职在北京杏树林科技有限公司,JS开发