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

यह जांचने के लिए सबसे अच्छा क्या है कि आइटम मौजूद है या नहीं:गणना (आईडी) या मौजूद (...) का चयन करें?

EXISTS, हमेशा

  • COUNT तालिका या अनुक्रमणिका को पार करेगा:आपने COUNT के लिए कहा
  • एक पंक्ति मिलते ही EXISTS रुक जाएगा

संपादित करें, स्पष्ट होने के लिए

बेशक, इस मामले में यदि ईमेल कॉलम अद्वितीय और अनुक्रमित है तो यह करीब होगा।

आम तौर पर, EXISTS कम संसाधनों का उपयोग करेगा और अधिक सही भी है। आप एक पंक्ति के अस्तित्व की तलाश कर रहे हैं, "शून्य से अधिक" नहीं, भले ही वे समान हों

संपादित करें2:EXISTS में, आप NULL, 1, ID, या यहां तक ​​कि 1/0 का उपयोग कर सकते हैं:यह चेक नहीं किया गया है...

21 मई 2011 संपादित करें:

ऐसा लगता है कि इसे SQL Server 2005+ में अनुकूलित किया गया था इसलिए COUNT अब इस मामले में EXISTS जैसा ही है



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. पहचान (ऑटो-इन्क्रीमेंट) कॉलम के साथ बल्क इंसर्ट

  2. SQL सर्वर:5 कॉलम से अधिक गतिशील पिवट

  3. CTE कर्सर/व्युत्पन्न तालिका/उपश्रेणियों/अस्थायी तालिका आदि से बेहतर क्यों है?

  4. एसएसआईएस पैकेज अंतिम संशोधित/तैनात तिथि खोजें - एसक्यूएल सर्वर

  5. द्वीप और अंतराल tsql