示例中讨论的mysql右连接没有给出正确的结果
我有一个表a,a是列,B是a,名称,地址 表A有1,1,2作为输入 表B中有1,你好,印度,1,你好,无处,2,哈卡,中国作为值示例中讨论的mysql右连接没有给出正确的结果,mysql,Mysql,我有一个表a,a是列,B是a,名称,地址 表A有1,1,2作为输入 表B中有1,你好,印度,1,你好,无处,2,哈卡,中国作为值 SELECT * FROM a right join b on a.a=b.a and b.a=1 and a.a is not null 它给了我 a a name address 1 1 hello india 1 1 hi nowhere NULL 2 hukka china
SELECT * FROM a
right join b
on a.a=b.a
and b.a=1
and a.a is not null
它给了我
a a name address
1 1 hello india
1 1 hi nowhere
NULL 2 hukka china
有没有线索说明为什么它仍然显示a.a的空值我认为您需要使用WHERE子句
试试这个
SELECT a.a, b.a, b.name, b.address
FROM a
INNER JOIN b ON a.a = b.a
WHERE b.a = 1 AND a.a IS NOT NULL
多花点时间提出您的问题-“表A有1,1,2作为输入”没有帮助。为什么不使用where子句?在上搜索“right join”(右连接)目前会返回大约2000个结果。相比之下,搜索“left join”返回的结果约为48000。这能告诉你什么吗?如果没有,我想应该是这样!我只是在想为什么我的查询没有给我想要的结果。我的意思是,当你在on之后使用2个条件时,我的查询有什么问题。
SELECT a.a, b.a, b.name, b.address
FROM a
INNER JOIN b ON a.a = b.a
WHERE b.a = 1 AND a.a IS NOT NULL