大师网-带你快速走向大师之路 解决你在学习过程中的疑惑,带你快速进入大师之门。节省时间,提升效率

SQL

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