Mysql 如何使用;不在「;在SQL中
尝试找出如何在SQL中使用“notin” 我需要找出那些从未打过电话的人。我通过将调用者表中的调用者id链接到问题表中的调用者id来实现这一点。然后我尝试使用“notin”来查看Caller表中的Caller\u id是否没有出现在问题表中,这意味着他们从未打过电话 -表如何链接在一起Mysql 如何使用;不在「;在SQL中,mysql,sql,Mysql,Sql,尝试找出如何在SQL中使用“notin” 我需要找出那些从未打过电话的人。我通过将调用者表中的调用者id链接到问题表中的调用者id来实现这一点。然后我尝试使用“notin”来查看Caller表中的Caller\u id是否没有出现在问题表中,这意味着他们从未打过电话 -表如何链接在一起 Select first_name, last_name From Caller JOIN Issue ON Caller.Caller_id = Issue.Caller_id WHERE Caller.Ca
Select first_name, last_name
From Caller
JOIN Issue ON Caller.Caller_id = Issue.Caller_id
WHERE Caller.Caller_id = Issue.Caller_id
AND Caller.Caller_id not in Issue.Caller_id
“我的代码”不会返回错误的输出,但它应该只显示0次调用的呼叫者的名字和姓氏。不要在子查询中使用
NOT IN
。如果子查询返回的任何值都是NULL
,那么它就没有做正确的事情
使用不存在
或左连接
/其中
。您的查询非常深入,因此您可以轻松地执行以下操作:
Select c.first_name, c.last_name
From Caller c left join
Issue i
on c.Caller_id = i.Caller_id
where i.caller_id is null;
WHERE条件有矛盾的条件。我可以问一下为什么使用左连接而不是标准连接吗?我真的不理解左/右连接。你所说的标准连接实际上是“内部连接”的一个简短用语;同样,“left join”是“left-outer-join”的缩写,内部连接只返回与ON条件匹配的项。外部联接将返回所提到的左(右)表,即使ON不匹配;为“缺少表”中的所有列提供null。在这种情况下,Join将只返回那些已经发出呼叫的呼叫者,而Left Join将返回发出呼叫的呼叫者加上没有发出呼叫的呼叫者。WHERE子句随后将删除那些留下请求结果的内容。