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

टी-एसक्यूएल में नहीं (काम नहीं कर रहा चुनें (उम्मीद के मुताबिक)

NOT IN जब इन-लिस्ट में NULL होता है तो अपेक्षित व्यवहार नहीं करता है मान।

वास्तव में, यदि कोई मान NULL है , तो कोई पंक्तियाँ बिल्कुल नहीं लौटाई जाती हैं। याद रखें:SQL में, NULL का अर्थ है "अनिश्चित" मान, न कि "लापता मान"। इसलिए, यदि सूची में कोई NULL है, तो मूल्य तो यह हो सकता है तुलना मान के बराबर हो।

तो, customerid NULL होना चाहिए orders . में टेबल।

इस कारण से, मैं दृढ़ता से अनुशंसा करता हूं कि आप हमेशा NOT EXISTS . का उपयोग करें NOT IN . के बजाय एक उपश्रेणी के साथ ।



  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 सर्वर रिपोर्टिंग सेवाएँ:खोले जाने पर रिपोर्ट को सक्रिय होने से कैसे रोकें

  3. कैसे पता करें कि कौन से कॉलम में कोई डेटा नहीं है (सभी मान NULL हैं)?

  4. SQL सर्वर में sys.dm_exec_describe_first_result_set_for_object कैसे काम करता है

  5. SQL सर्वर डेटाबेस स्नैपशॉट -4