一个最小例子。
假设有数据:
pure_user
- U1, 张三
- U2, 李四
- U3, 王五
pure_user_role_ref
- U1 - R1
- U1 - R2
- U2 - R3
现在传参:roleIdList = [R1, R3]
执行这段 JOIN(简化):
FROM pure_user pu
JOIN pure_user_role_ref r
ON pu.user_id = r.user_id
WHERE r.role_id IN ('R1','R3')
结果是:
- U1(命中 R1)
- U2(命中 R3)
- U3 不在结果里(没命中)
这就说明 JOIN 在这里的作用是:只保留在角色关联表里"匹配条件"的用户。