两张表, 表1和表2联合查询 想要一条语句返回表一的所有字段 并加上表二的一部分字段 表一的id=表二的课程id,表二存了一个userid,有一个登陆者, 希望可以查到表1的所有数据 并且表二的字段一起返回 如果这个表二没有这条数据 那么这个字段为空就行,我用left join不行 因为一旦表二没有数据 用userid=表二的userid 那么表一的数据就都查不出来了 ,请问有什么办法
4条回答 默认 最新
嘉祐-小萝卜算子 2022-03-31 10:33关注select
*
fromtbl1 t1
left join
tbl2 t2
on t1.id = t2.course_id
and t2.user_id = 登录用户的id我猜测你应该是把过滤条件 userId 写到where上了,
where 会先join 然后过滤, 这样的话等价于inner join
会把左侧保留表的数据也过滤掉
所以 正确的答案应该是 条件在on上面, 如果supply null 表有对应的数据
则关联上, 如果没有 ,则supply null本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报