MySql self加入数组

时间:2015-04-16 03:26:51

标签: php mysql

我有一个名为user的表,具有以下值:

 id    email 
  1    abc@abc.com
  2    test@abc.com

现在,我需要一个类似的查询:

SELECT id, email from user where email in ('abc@abc.com`,`test@abc.com`,`xyz@aa.com`)

由于表格中不存在 xyz@aa.com ,我希望得到以下结果:

id    email 
1     abc@abc.com
2     test@abc.com
NULL  xyz@aa.com

知道如何在MySql中执行此操作吗?

1 个答案:

答案 0 :(得分:3)

这是一种方式:

SELECT user.id, user.email
FROM user
RIGHT JOIN (
    SELECT 'abc@abc.com' AS email
        UNION SELECT 'test@abc.com'
        UNION SELECT 'xyz@aa.com'
    ) AS tmp
ON user.email = tmp.email;