选择列为空的行

时间:2014-12-15 12:33:48

标签: mysql

我有2张桌子。

submission(submissionID, teamID)  
team(teamID, teamNames)

我在团队中有2条记录:(2, john)(3, peter)

提交内容我有:(3,3)

当我使用它时:

select teamName, t.teamID
from team t
inner join submission s on t.teamID = s.teamID
where submissionID is null

它没有返回任何结果

我看到了null时选择列的一些示例,但它对我不起作用。

MySQL: selecting rows where a column is null

Select rows where column is null

2 个答案:

答案 0 :(得分:2)

如果您尝试查找没有提交的团队,请使用外部加入:

select teamName, t.teamID
from team t
LEFT join submission s on t.teamID = s.teamID
where submissionID is null

提交中没有匹配行的团队仍会返回左连接,但联接表中的所有列都将为空。

where子句在进行连接后过滤结果,因此为连接表的非空列指定null将只返回错过的连接。

答案 1 :(得分:0)

我不确定mysql但是在oracle中你可以使用外连接 有三种类型的外连接

1.Left Outer Join 2.Right外部加入 3.Full外部加入

您可以使用完整的外部联接: -

从提交的完整外部联接团队中选择* on(t.teamID = s.teamID);