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

ऑरैकल में 'इन' क्लॉज कैसे काम करता है?

सही (लेकिन ध्यान दें कि IN एक ऑपरेटर है, क्लॉज नहीं है और यह सामान्य रूप से SQL में इस तरह काम करता है, न कि केवल Oracle के लिए)।

where 1 not in (null,1)

के बराबर है:

where 1 != null and 1 != 1

जिसे वास्तव में इस प्रकार लिखा जाना चाहिए:

WHERE 1 NOT IN (NULL, 1)

और

WHERE 1 <> NULL AND 1 <> 1

जो समान है:

WHERE (1 <> NULL) AND (1 <> 1)

जो इसका मूल्यांकन करता है:

WHERE UNKNOWN AND FALSE

और आगे के रूप में:

WHERE FALSE

तो, यह सही ढंग से कोई पंक्ति नहीं देता है।

ध्यान दें कि यदि आपके पास WHERE 1 NOT IN (NULL, 2) . था , यह WHERE UNKNOWN . का मूल्यांकन करेगा (एक अभ्यास के रूप में छोड़ दिया गया) और कोई पंक्तियाँ भी वापस नहीं की जाएंगी।



  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 IN क्लॉज में 1000 से अधिक प्रविष्टियाँ डालने के लिए TUPLES का उपयोग करना

  2. Oracle RAC और अनुक्रम

  3. JDK 8 के साथ Mac OS पर Oracle SQL डेवलपर 19.1 स्थापित करें

  4. उदाहरण के साथ Oracle में हैश शामिल हों

  5. Oracle डेटाबेस में मान्य समय क्षेत्रों की सूची कैसे लौटाएं?