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

क्या कोई यह समझाने में मदद कर सकता है कि SQL जॉइन का उपयोग क्यों नहीं करना खराब अभ्यास और गलत है?

यह सच है कि सिंटैक्स के दोनों रूपों को एक ही परिणाम देना चाहिए और आंतरिक रूप से MySQL उन दोनों को बिल्कुल उसी तरह निष्पादित करता है। SQL मानक के वर्तमान संस्करण दोनों रूपों का समर्थन करते हैं, हालांकि अल्पविराम-शैली केवल पिछड़े संगतता के लिए समर्थित है।

एक ऐसा मामला है जहां कॉमा-स्टाइल सिंटैक्स का उपयोग विफल हो जाता है, लेकिन यह आकर्षक है:

SELECT * FROM A, B JOIN C ON C.x = A.y;

JOIN अल्पविराम की तुलना में ऑपरेटर की प्राथमिकता अधिक होती है। तो जैसा कि उपरोक्त क्वेरी C.x = A.y . का मूल्यांकन करने का प्रयास कर रही है यह भी नहीं जानता कि A क्वेरी का हिस्सा है। तो आपको एक त्रुटि मिलती है:

ERROR 1054 (42S22): Unknown column 'A.y' in 'on clause'

सबसे अच्छा उपाय है JOIN . का उपयोग करना लगातार उन्हें मिलाने के बजाय वाक्य रचना।

इसके अलावा, आप कॉमा-जॉइन सिंटैक्स के साथ बाहरी जुड़ाव नहीं बना सकते। Oracle और Sybase/Microsoft प्रत्येक ने बाहरी जुड़ावों को संभालने के लिए अपने स्वयं के मालिकाना वाक्यविन्यास का आविष्कार किया, लेकिन न तो RDBMS के अन्य ब्रांडों द्वारा समर्थित हैं। आज, Oracle और Sybase/Microsoft सहित RDBMS के सभी मौजूदा संस्करण मानक JOIN का समर्थन करते हैं सिंटैक्स, इसलिए पुराने विक्रेता-विशिष्ट एक्सटेंशन का उपयोग करने का कोई अच्छा कारण नहीं है।



  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. org.hibernate.exception.JDBCConnectionException प्राप्त करना:JNDI के माध्यम से भी क्वेरी निष्पादित नहीं कर सका

  3. PHP और MySQL पेजिनेशन अपडेट सहायता

  4. विंडो फ़ंक्शंस के लिए मैसकल वर्कअराउंड

  5. पीएचपी/ओडीबीसी एन्कोडिंग समस्या