我可以使用<>与外联?

时间:2015-01-27 08:30:36

标签: mysql

SELECT `employee`.`fname` 
FROM `employee` 
OUTER JOIN `test` ON `employee`.`id`=`test`.`id` 
WHERE `test`.`lname` <> null;

它给出了语法错误。

为什么?

2 个答案:

答案 0 :(得分:1)

OUTERLEFT OUTER JOIN中是可选的,而不是LEFT

SELECT `employee`.`fname` 
FROM `employee` 
LEFT OUTER JOIN `test` ON `employee`.`id`=`test`.`id` 
WHERE `test`.`lname` is not null;

要检查null,请使用is运算符。

顺便说一句,如果您使用is not null,则可以删除inner join支票。

答案 1 :(得分:0)

如果您必须检查某列是否为空,那么您必须is not null而不是<>

SELECT `employee`.`fname` FROM `employee` OUTER JOIN `test` ON `employee`.`id`=`test`.`id` WHERE `test`.`lname` is not null;