यह सच है कि सिंटैक्स के दोनों रूपों को एक ही परिणाम देना चाहिए और आंतरिक रूप से 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
का समर्थन करते हैं सिंटैक्स, इसलिए पुराने विक्रेता-विशिष्ट एक्सटेंशन का उपयोग करने का कोई अच्छा कारण नहीं है।