Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

टी-एसक्यूएल:मूल्य सूची में मूल्यों का चयन कैसे करें जो तालिका में नहीं हैं?

SQL सर्वर 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)  

पिछले संस्करणों के लिए आप व्युत्पन्न तालिका के साथ कुछ ऐसा ही कर सकते हैं UNION ALL -स्थिरांक।

/*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)

या यदि आप प्रश्न में दिए गए सटीक परिणाम के बजाय केवल गैर-मौजूदा वाले (शीर्षक द्वारा निहित) चाहते हैं, तो आप इसे आसानी से कर सकते हैं

SELECT email
FROM   (VALUES('email1'),
              ('email2'),
              ('email3'),
              ('email4')) E(email)  
EXCEPT
SELECT email
FROM Users


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. sql सर्वर 2005 से 2008 में माइग्रेट करने में एप्लिकेशन पर प्रभाव

  2. संदर्भित तालिका में कोई प्राथमिक या उम्मीदवार कुंजी नहीं है जो विदेशी कुंजी में संदर्भ कॉलम सूची से मेल खाती है

  3. WHERE col IN (...) कंडीशन पर सीमा

  4. मैं LIKE क्लॉज में वर्गाकार कोष्ठकों से कैसे बच सकता हूँ?

  5. एसक्यूएल सर्वर में पंक्तियों को कॉलम में कुशलतापूर्वक परिवर्तित करें