में स्थिति और नहीं() के बीच क्या अंतर है हाल ही में मैं एसक्यूएल सर्वर और ओरेकल में नहीं() में आया। अलग-अलग उदाहरणों की तुलना में अलग-अलग उदाहरणों की कोशिश की और नहीं() जैसे कि विभिन्न ऑपरेटरों जैसे LIKE, IN आदि के साथ। मुझे परिणामसेट और रिकॉर्ड गणना के मामले में कोई अंतर नहीं दिखता है, लेकिन यदि वे दोनों एक ही कर रहे हैं तो समुदाय के साथ पुष्टि करना चाहता है या कोई चेतावनी?ओरेकल और एमएस एसक्यूएल सर्वर
उदाहरण प्रश्नों
select count(*) from Emp where country not in ('ENGLAND UK', 'HAITI', 'IRELAND')
select count(*) from Emp where not(country in ('ENGLAND UK', 'HAITI', 'IRELAND'))
SQL सर्वर में, आप सर्वर को निष्पादन योजनाएं उत्पन्न करने के लिए प्राप्त कर सकते हैं। फिर आप इन दो प्रश्नों के लिए निष्पादन योजनाओं की तुलना कर सकते हैं और देख सकते हैं कि वे समान हैं। ओरेकल में एक अलग नाम के तहत समान कार्यक्षमता है। –
एसक्यूएल 2014 और 2016: 'IN()' खंड में शाब्दिक तर्क सूची के साथ, SQL निष्पादन योजनाओं में कोई अंतर नहीं है। यदि एक पीके कॉलम शामिल है, तो यह एक क्लस्टर इंडेक्स की तलाश करेगा, अन्यथा क्लस्टर्ड इंडेक्स स्कैन। एक सबक्वायरी और इष्टतम कुंजी के साथ, यह दो स्कैन और बाएं एंटी अर्ध शामिल होंगे, जहां भी 'नहीं' ऑपरेटर रखा जाता है, कोई फर्क नहीं पड़ता। – dlatikay