我有一个名为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中执行此操作吗?
答案 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;