मैं इस सवाल का समाधान करने जा रहा हूं कि क्या वे असमानताएं हमेशा हैं सच। जवाब "नहीं" है, एसक्यूएल में नहीं। ज्यादातर परिस्थितियों में, वे समकक्ष हैं। समस्या अंतर्निहित प्रकार के रूपांतरण के साथ उत्पन्न होती है।
विशेष रूप से, यदि a.id
एक संख्या है और अन्य स्तंभ तार हैं, तो आपके पास वह स्थिति है जहां:
1 = '1' -- true
1 = '1.00' -- true
'1' = '1.00' -- false
आप यह
देख सकते हैं इस db<>fiddle पर। JOIN
. का उपयोग करके इसे सेट अप करना मामूली होगा s, लेकिन चूंकि मैं ऐसा कोड नहीं लिखने जा रहा हूँ जिसमें FROM
. में अल्पविराम हों खंड, मैं वह अभ्यास आप पर छोड़ दूँगा।
व्यवहार में, जुड़ने के लिए उपयोग की जाने वाली आईडी एक ही प्रकार की होनी चाहिए। यदि वे नहीं हैं तो आप एक विदेशी कुंजी संबंध घोषित भी नहीं कर सकते हैं। यह सबसे अच्छा अभ्यास एक तरफ, दो प्रश्न स्वचालित रूप से समकक्ष नहीं हैं।
नोट:यह उतना ही सही होगा यदि आप उचित, स्पष्ट, मानक . का उपयोग करते हैं JOIN
सिंटैक्स, जिसे मैं दृढ़ता से, आपको विशेष रूप से सीखने और उपयोग करने के लिए दृढ़ता से प्रोत्साहित करता हूं।