当join-id可为空时如何进行SQL连接

问题描述 投票:0回答:1

与无法加入的 SQL 查询作斗争

SELECT * FROM AspNetUsers u
JOIN Groups g ON g.Id = u.GroupId

在 AspNetUsers 方面我有 身份证号 INT GroupId INT(可为空)

在团体方面我有 身份证号 INT 组名 VARCHAR(255)

(userId 和 GroupId 之间设置了 FK,因此不会出现类型不匹配的情况)

我收到错误

您的 SQL 语法有错误;检查手册 与您的 MySQL 服务器版本相对应,以便使用正确的语法 靠近'组 g ON g.Id = u.GroupId

我不能加入可为空的列吗?我只想检索那些有匹配的 GroupId 的行。你会如何处理这个问题

sql join nullable
1个回答
0
投票

我可能是错的,但是:

groups
是MySQL的保留字(参见这里)这意味着它不能用于表名或列名;我想说这就是你出错的原因。

就你的问题而言:当然,你可以

NULL
值执行连接;你只是不会得到任何结果。在这种情况下,请查看 outer join 是否对您正在做的事情有帮助。

© www.soinside.com 2019 - 2024. All rights reserved.