Pour SQL Server 2008
SELECT email,
CASE
WHEN EXISTS(SELECT *
FROM Users U
WHERE E.email = U.email) THEN 'Exist'
ELSE 'Not Exist'
END AS [Status]
FROM (VALUES('email1'),
('email2'),
('email3'),
('email4')) E(email)
Pour les versions précédentes, vous pouvez faire quelque chose de similaire avec une table dérivée UNION ALL
-ing les constantes.
/*The SELECT list is the same as previously*/
FROM (
SELECT 'email1' UNION ALL
SELECT 'email2' UNION ALL
SELECT 'email3' UNION ALL
SELECT 'email4'
) E(email)
Ou si vous voulez juste ceux qui n'existent pas (comme l'implique le titre) plutôt que le jeu de résultats exact donné dans la question, vous pouvez simplement le faire
SELECT email
FROM (VALUES('email1'),
('email2'),
('email3'),
('email4')) E(email)
EXCEPT
SELECT email
FROM Users