当关联ID可为空时如何执行SQL JOIN?关联查询报错求助
SQL关联失败问题解决
- 语法错误的真正原因:
Groups是MySQL的保留关键字,直接作为表名使用会触发语法错误,和GroupId是否可空无关。 - 关于可空列关联的疑问:可为空的列完全可以用来做关联条件,
INNER JOIN本身就只会返回两边匹配的行——当u.GroupId为NULL时,g.Id = u.GroupId的结果是UNKNOWN,这类行不会被纳入查询结果,正好符合你“只想检索GroupId匹配的行”的需求。 - 修正后的查询语句:
SELECT * FROM AspNetUsers u JOIN `Groups` g ON g.Id = u.GroupId
内容的提问来源于stack exchange,提问作者Matt Welander
相关产品推荐
相关产品推荐

