MySQL:在JOIN LEFT / RIGHT中不显示结果NULL

时间:2012-06-08 00:03:36

标签: mysql select join left-join

我这样做了:

SELECT * FROM ( 
               SELECT DISTINCT (u2.email) email FROM  `users` u1 LEFT JOIN 
                       users u2 ON  u1.email = u2.email AND u1.id <> u2.id
               )users  WHERE email IS NOT NULL

是否有合同公式?

1 个答案:

答案 0 :(得分:1)

如果您不想要NULL结果,请使用INNER JOIN。

SELECT DISTINCT(u2.email) FROM users u1 
    INNER JOIN users u2 ON u1.email = u2.email AND u1.id <> u2.id

如果必须使用LEFT JOIN:

SELECT DISTINCT(u2.email) FROM users u1 
    LEFT JOIN users u2 ON u1.email = u2.email AND u1.id <> u2.id 
    WHERE u2.email IS NOT NULL