如示例中所讨论的mysql右连接没有给出正确的结果

时间:2013-06-14 11:36:05

标签: mysql

我有一个表A,其中a为列,表B为a,name,address

表A有1,1,2作为输入 表B有(1,你好,印度),(1,hi,无处),(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

的空值的任何线索

2 个答案:

答案 0 :(得分:0)

我认为您需要使用WHERE子句

SELECT * FROM a 
RIGHT JOIN b 
ON a.a=b.a 
WHERE b.a=1 
AND a.a IS NOT NULL

答案 1 :(得分:0)

试试这个

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