दिलचस्प पोस्ट
एंड्रॉइड में आशय का इस्तेमाल करते हुए एक फोन कॉल कैसे करें? sudo in php exec () # कैसे <bits / stdc ++। H> को शामिल करता है> सी ++ में काम करता है? उपप्रकार में रिवेंडरैलि इन्टिगिलिटी को कैसे कार्यान्वित करें सभी एजेक्स कॉल पूर्ण होने पर कैसे पता करें जावा के साथ दो तिथियों के बीच दिन की गणना स्प्रिंग एमवीसी नियंत्रक को GET अनुरोध में दिनांक पैरामीटर कैसे स्वीकार करें? स्वचालित रूप से INotifyPropertyChanged सरणी के तत्वों में शामिल हों? हम एपीआई का उपयोग करके IDE से कफ़ा में एक विषय कैसे बना सकते हैं एक से अधिक विशेषता के आधार पर रेल मिलते हैं? अजैशन अनुरोधों का उपयोग करते हुए JSON पोस्ट करें एक संग्रहीत कार्यविधि में "SET XACT_ABORT चालू" का उपयोग करने का क्या लाभ है? अजगर के eval () बनाम ast.literal_eval () का उपयोग करना? जावास्क्रिप्ट ऑब्जेक्ट पुश () फ़ंक्शन

ओरेकल: `(+) 'एक WHERE खंड में क्या होता है?

Oracle- आधारित अनुप्रयोग में निम्नलिखित पाया गया है कि हम माइग्रेट कर रहे हैं (सामान्यीकृत) :

SELECT Table1.Category1, Table1.Category2, count(*) as Total, count(Tab2.Stat) AS Stat FROM Table1, Table2 WHERE (Table1.PrimaryKey = Table2.ForeignKey(+)) GROUP BY Table1.Category1, Table1.Category2 

क्या (+) एक WHERE खंड में क्या होता है? मैंने कभी ऐसा कभी नहीं देखा है जैसे कि पहले इस्तेमाल किया

वेब के समाधान से एकत्रित समाधान "ओरेकल: `(+) 'एक WHERE खंड में क्या होता है?"

"=" को (+) के किन किन किन पर निर्भर करता है, यह एक ऊपरी या एक ऊपरी हिस्से को जोड़ता है (इस मामले में, यह एक बाएं बाहरी शामिल है)। यह पुराने ओरेकल सिंटैक्स है जिसे कभी-कभी लोगों द्वारा पसंद किया जाता है इसे पहले सीखा, क्योंकि उन्हें पसंद है कि यह उनके कोड को छोटा बनाता है।

यद्यपि इसका उपयोग करने के लिए सर्वश्रेष्ठ नहीं, पठनीयता के लिए

जैसा कि अन्य लोगों ने बताया है, (+) वाक्यविन्यास अप्रचलित, स्वामित्व सिंटैक्स है जो ओरेकल ने कई वर्षों के लिए एक अतिरिक्त परिणाम को पूरा करने के लिए उपयोग किया था। मुझे लगता है कि वे एसक्यूएल -92 मानक वाक्यविन्यास पर फैसला करने से पहले अपना स्वामित्व वाक्यविन्यास अपनाया।

मानक SQL OUTER JOIN वाक्यविन्यास (जो अब सभी प्रमुख RDBMS कार्यान्वयनों द्वारा समर्थित है) का उपयोग करते हुए, आपके द्वारा दिखाया गया समतुल्य प्रश्न निम्न होगा:

 SELECT Table1.Category1, Table1.Category2, COUNT(*) AS Total, COUNT(Table2.Stat) AS Stat FROM Table1 LEFT OUTER JOIN Table2 ON (Table1.PrimaryKey = Table2.ForeignKey) GROUP BY Table1.Category1, Table1.Category2; 

जिसका मतलब है:

  • Table1 से सभी पंक्तियों को क्वेरी परिणाम में शामिल किया गया है।
  • जहां Table1 में पंक्तियां मिलती हैं, उन पंक्तियों को शामिल करें ( Table2 में एकाधिक मेलिंग पंक्तियाँ हैं, तो Table1 से दोहराए जाने वाले)।
  • जहां Table2 में कोई मिलान पंक्तियाँ नहीं हैं, क्वेरी परिणाम में Table2 सभी स्तंभों के लिए NULL उपयोग करें।

यह एक गैर एएनएसआई छोड़ दिया है बाहरी सम्मिलित नोटेशन Oracle9i के साथ शुरू हो रहा है, '(+)' नोटेशन का उपयोग करते हुए भ्रामक बाह्य सम्मिलन वाक्यविन्यास को आईएसओ 99 बाहरी जुड़ने वाक्यविन्यास द्वारा स्थानांतरित कर दिया गया है।