यह बात है सुविधा का अनिवार्य नहीं, लेकिन इसकी जगह होनी चाहिए, उदाहरण के लिए इंटरैक्टिव क्वेरीिंग (प्रत्येक कीस्ट्रोक हमें आरएसआई के करीब लाती है), या उत्पादन कोड में हाथ से लिखे गए एसक्यूएल के कुछ साधारण मामलों (हाँ, मैंने लिखा है। और गंभीर कोड में JOIN USING
भी देखा, जो मेरे अलावा बुद्धिमान प्रोग्रामर द्वारा लिखे गए हैं। लेकिन, मैं digressing)।
मुझे यह प्रश्न मिला जब एसएस इस सुविधा को याद कर रहा है, और मुझे मिल गया। मैं केवल इस वाक्यविन्यास के खिलाफ नफरत की मात्रा से परेशान हूं, जिसे मैं खट्टा अंगूर सिंड्रोम में श्रेय देता हूं। मुझे पेट्रोनाइजिंग टोन मिठाई (पढ़ें: सिंटैक्टिक चीनी) आपके स्वास्थ्य के लिए खराब है, जब मुझे संरक्षित स्वर के साथ भाषण दिया जाता है। आपको वैसे भी इसकी आवश्यकता नहीं है।
-- foreign key "order".customerId references (customer.id)
SELECT c.*, c.id as customerId, o.* from customer c
join "order" o using (customerId);
मैं से सहमत नहीं हूं:
क्या JOIN USING
वाक्य रचना में अच्छा है, कि यह सिर्फ स्तंभ नाम पर नहीं काम करता है, लेकिन यह भी स्तंभ उपनाम पर, उदाहरण के लिए है "उपयोग में शामिल हों बेहतर होगा, अगर केवल (...)"। या तर्क, कि आपको अधिक जटिल स्थितियों की आवश्यकता हो सकती है। एक अलग दृष्टिकोण से, JOIN ON
का उपयोग क्यों करें? शुद्ध क्यों नहीं है, और सभी शर्तों को WHERE
खंड में ले जाएं?
SELECT t1.*, t2.* from t1, t2 where t2.t1_id = t1.id;
मैं अब पागल हो जाना और बहस कर सकते, यह कैसे एक में शामिल होने व्यक्त करने के लिए स्पष्ट तरीका है, और आप तुरंत जहां खंड है, जो आप आमतौर पर वैसे भी, ऐसा ऐसा जरूरत से अधिक शर्तों को जोड़ने शुरू कर सकते हैं ..
तो आपको इस विशेष वाक्यविन्यास को बहुत ही याद नहीं करना चाहिए, लेकिन इसे रखने के लिए खुश होने के लिए कुछ भी नहीं है ("पुhew, जो करीब था। इतना अच्छा नहीं है कि हम शामिल हों। मुझे बहुत बचा था दर्द का ")।
तो, जबकि मैं व्यक्तिगत रूप से समय की JOIN ON
99% का उपयोग करें, मैं कोई Schadenfreude लगता है जब है वहाँ कोई JOIN USING
या NATURAL JOIN
। ऑन सिंटैक्स के साथ चिपकने के लिए
+1। – Fosco
मैं 'प्राकृतिक जॉइन' के साथ एक ही पंक्ति के साथ सोच रहा था - यह अच्छा होगा अगर इसके बाद इस प्रकार के प्रकार में कुछ 'विदेशी कुंजी' शामिल हो (जैसा कि यह खड़ा है, 'प्राकृतिक जॉइनिंग टेबल जैसे कि हटाए गए कॉलम गैरकानूनी होंगे)। धन्यवाद बिल –
काफी। इस बिंदु को अनदेखा करने के लिए एक तालिका में कॉलम जोड़ना और एक ऐसी स्थिति बनाने में आसान है जहां कोई इरादा नहीं था (वह कहता है, कई मौकों पर ठीक से किया गया है)। –