फुल ओवर जॉइन बनाम फुल जॉय


84

सिर्फ जिज्ञासुओं की बेहतर समझ पाने के लिए प्रश्नों और उदाहरणों के साथ खेलना। मैं देख रहा हूँ कि SQL Server 2008 में, निम्न दो प्रश्न समान परिणाम देते हैं:

SELECT * FROM TableA
FULL OUTER JOIN TableB
ON TableA.name = TableB.name

SELECT * FROM TableA
FULL JOIN TableB
ON TableA.name = TableB.name

क्या ये एक ही परिणाम उत्पन्न करने के लिए बिल्कुल एक ही क्रिया कर रहे हैं, या क्या मैं एक अधिक जटिल उदाहरण में अलग-अलग परिणामों में भाग करूंगा? क्या यह सिर्फ विनिमेय शब्दावली है?


2
हाँ, दोनों प्रश्न मुझे SQL Server 2008 R2 में समान परिणाम देते हैं।
CptSupermrkt

जवाबों:


103

वास्तव में वे एक ही हैं। LEFT OUTER JOINजैसा है LEFT JOINऔर RIGHT OUTER JOINवैसा ही है RIGHT JOIN। इसकी तुलना करने के लिए यह अधिक जानकारीपूर्ण तरीका है INNER Join

विवरण के लिए यह विकिपीडिया लेख देखें।


3
बहुत बहुत धन्यवाद। इतने सारे ट्यूटोरियल जो मैंने अपने स्वयं के शैली के अनुसार उपयोग किए हैं, नोट किए बिना कि वे समान हैं।
CptSupermrkt

2
जुड़ने का दृश्य निरूपण: codeproject.com/Articles/33052/…
हॉके पार्कर

37

Microsoft® SQL Server ™ 2000 इन SQL SQL-92 कीवर्ड्स को FROM क्लॉज में निर्दिष्ट बाहरी जोड़ के लिए उपयोग करता है:

  • बाईं ओर जॉय या बाईं ओर

  • राइट जॉय जॉइन या राइट जॉय

  • फुल ओवर जॉइन या फुल जॉइन

से MSDN

full outer joinया full joinरिटर्न दोनों तालिकाओं से सभी पंक्तियों, पंक्तियों जहाँ भी एक मैच और बनाया जा सकता है रखने मिलान NULLरों स्थानों पर जहां कोई मिलता-जुलता पंक्ति मौजूद है।


11

यह सच है कि कुछ डेटाबेस OUTER कीवर्ड को पहचानते हैं। कुछ नहीं। जहां यह मान्यता प्राप्त है, यह आमतौर पर एक वैकल्पिक कीवर्ड है। लगभग हमेशा, फुल जॉय और फुल ओमर जॉय बिल्कुल एक ही काम करते हैं। (मैं एक उदाहरण के बारे में नहीं सोच सकता, जहां वे नहीं करते। क्या कोई और सोच सकता है?)

यह आपको आश्चर्यचकित कर सकता है, "यदि इसका कोई अर्थ नहीं है तो भी यह एक कीवर्ड क्यों होगा?" उत्तर प्रोग्रामिंग शैली के लिए उबलता है।

पुराने दिनों में, प्रोग्रामर अपने कोड को यथासंभव कॉम्पैक्ट बनाने का प्रयास करते थे। हर वर्ण का मतलब लंबे समय तक प्रसंस्करण से था। हमने 1, 2 और 3 अक्षर चर का उपयोग किया। हमने 2 अंकों के वर्षों का उपयोग किया। हमने सभी अनावश्यक सफेद स्थान को समाप्त कर दिया। कुछ लोग अभी भी उस तरह से कार्यक्रम करते हैं। यह समय प्रसंस्करण के बारे में नहीं है। यह तेज़ कोडिंग के बारे में अधिक है।

आधुनिक प्रोग्रामर अधिक वर्णनात्मक चर का उपयोग करना सीख रहे हैं और अपने कोड में अधिक टिप्पणी और प्रलेखन डालते हैं। ओमर जैसे अतिरिक्त शब्दों का उपयोग करना सुनिश्चित करता है कि कोड पढ़ने वाले अन्य लोगों को इसे समझने में आसान समय होगा। कम अस्पष्टता होगी। यह शैली भविष्य में उन लोगों के लिए बहुत अधिक पठनीय और दयालु है, जिन्हें उस कोड को बनाए रखना होगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.