Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> SQL Server

SQL सर्वर में शामिल हों

SQL Server (Transact-SQL) में JOIN का उपयोग कई तालिकाओं से डेटा पुनर्प्राप्त करने के लिए किया जाता है, जब SQL कमांड में दो या दो से अधिक टेबल एक साथ जुड़े होते हैं। यहाँ SQL सर्वर में 4 प्रकार के JOIN हैं

  1. आंतरिक शामिल हों - साधारण कनेक्शन फॉर्म के रूप में भी जाना जाता है
  2. बाएं बाहरी शामिल हों - या बाएं शामिल हों
  3. दाहिने बाहरी शामिल हों - या राइट जॉइन करें
  4. पूर्ण बाहरी जुड़ाव - या पूर्ण रूप से शामिल हों

अब आइए SQL सर्वर में JOIN को बेहतर ढंग से समझने के लिए सिंटैक्स, इलस्ट्रेशन और उदाहरणों को देखें।

इनर जॉइन

सबसे अधिक संभावना है कि आप पहले से ही कुछ कमांड में INNER JOIN का उपयोग कर चुके हैं। यह कनेक्शन का सबसे आम प्रकार है, जब कनेक्शन की शर्तें पूरी होती हैं तो सभी पंक्तियों को टेबल से वापस कर दिया जाता है।

INNER JOIN सिंटैक्स

  SELEC T cot 
FROM bang1
INNER JOIN bang2
ON bang1. cot = bang2.cot;

SQL सर्वर में शामिल हों
इनर जॉइन की सचित्र छवि

लौटा हुआ परिणाम State1 और bang2 के बीच का सामान्य रिकॉर्ड है।

उदाहरण INNER JOIN

  SELECT nhacung.nhacung _id, nhacung.nhacung_ten, donhang.donhang_ngay 
FROM nhacung
INNER JOIN donhang
ON nhacung.nhacung_id = d onhang.nhacung_id;

उपरोक्त उदाहरण में दिया गया परिणाम 'आपूर्तिकर्ता' तालिका और 'आदेश' तालिका में जानकारी की पंक्ति है जब nhacung_id का मान 2 तालिकाओं के बराबर होता है।

आइए बेहतर ढंग से समझने के लिए विशिष्ट डेटा के साथ एक उदाहरण देखें।

nhacung तालिका में 2 सूचना क्षेत्र हैं:nhacung_id और nhacung_ten।

nhacung_id nhacung_ten 10000 IBM 10001 Hewlett Packard 10002 Microsoft 10003 NVIDIA

डोनहैंग टेबल में 3 फ़ील्ड हैं donhang_id, nhacung_id और donhang_ngay।

donhang_id nhacung_id डोनहंग_नगे 500125 10000 2003/05/12 500126 10001 2003/05/13 500127 10004 2003/05/14

यदि आप नीचे सेलेक्ट कमांड (INNER JOIN का उपयोग करके) चला रहे हैं:

  SELECT nhacung. nhacung_id, nhacung.nhacung_ten, donhang.donhang_ngay 
FROM nhacung
INNER JOIN donhang
ON nhacung.nhacung_ id = donhang.nhacung_id;

यह लौटाया गया परिणाम सेट है:

nhacung_id दस आईबीएम donhang_ngay 10000 2003/05/12 10001 Hewlett Packard 2003/05/13

Microsoft और NVIDIA उत्पादों को तालिका से हटा दिया गया है क्योंकि nhacung_id (10002 और 10003) केवल 1 तालिका में उपलब्ध है। पंक्ति 500127 (donhang_id) को डोनहांग तालिका से हटा दिया गया है क्योंकि nhacung_id 10004 nhacung तालिका में नहीं है।

INNER JOIN का पुराना सिंटैक्स

INNER JOIN को नीचे दिए गए पुराने सिंटैक्स के साथ फिर से लिखा जा सकता है (लेकिन INNER JOIN कीवर्ड वाले सिंटैक्स का उपयोग करने की अनुशंसा की जाती है)

  SELECT music ung.nhacung_id, nhacung.nhacung_ten, donhang.donhang_ngay 
FROM donhang, nhacung
WHERE nhacung.n hacung_id = donhang.nhacung_id;

बाएं बाहरी शामिल हों

कुछ डेटाबेस LEFT OUTER JOIN के बजाय LEFT JOIN का उपयोग करते हैं। इस प्रकार का कनेक्शन बाएं पैनल में पंक्तियों को चालू स्थिति में लौटाता है और केवल शेष तालिकाएँ लेता है जो निर्धारित शर्तों को पूरा करती हैं।

वाम-विन्यास में शामिल हों

  SELE CT cot 
FROM bang1
LEFT [OUTER] JOIN bang2
ON bang1.co t = bang2.cot;

SQL सर्वर में शामिल हों
नीले क्षेत्र के परिणामस्वरूप बाएं जॉइन का चित्रण करें

लौटे हुए परिणाम में State1 और बैंग2 में स्थित रिकॉर्ड्स State1 (तस्वीर में नीला क्षेत्र) को सौंपे जाते हैं।

उदाहरण लेफ्ट जॉइन

  SELECT nh acung.nhacung_id, nhacung.nhacung_ten, donhang.donhang_ngay 
FROM nhacung
LEFT OUTER JOIN donhang
ON nhacung.nhac ung_id = donhang.nhacung_id;

उपरोक्त उदाहरण तालिका से सभी पंक्तियों और केवल उन पंक्तियों को लौटाएगा जो डोनहांग तालिका में आवश्यकताओं को पूरा करती हैं। यदि तालिका में nhacung_id मान डोनहांग तालिका में मौजूद नहीं है, तो डोनहांग के सभी फ़ील्ड परिणाम तालिका में परिणाम प्रदर्शित करेंगे।

नीचे एक विशिष्ट उदाहरण दिया गया है। तालिका में nhacung_id और nhacung_ten शामिल हैं।

nhacung_id nhacung_ten 10000 IBM 10001 Hewlett Packard 10002 Microsoft 10003 NVIDIA

Donhang तालिका में donhang_id, nhacung_id और donhang_ngay शामिल हैं।

donhang_id nhacung_id डोनहंग_नगे 500125 10000 2003/05/12 500126 10001 2003/05/13

अगर नीचे सेलेक्ट कमांड चला रहे हैं:

  SELECT nhacu ng.nhacung_id, nhacung.nhacung_ten, donhang.donhang_ngay 
FROM nhacung
LEFT OUTER JOIN donhang
ON nhacung.nhacun g_id = donhang.nhacung_id;

परिणाम इस प्रकार होगा:

nhacung_id nhacung_ten 10000 आईबीएम donhang_ngay 2003/05/12 10001 Hewlett Packard 2003/05/13 10002 Microsoft 10003 NVIDIA

Microsoft और NVIDIA पंक्तियाँ अभी भी परिणाम सेट में हैं क्योंकि वे LEFT OUTER JOIN का उपयोग कर रहे हैं (बाईं ओर सभी तालिकाएँ प्राप्त करें) . इस बीच, इन अभिलेखों में से donhang_ngay मान्य होगा।

दाहिने बाहरी जॉइन करें

कुछ डेटाबेस RIGHT OUTER JOIN के बजाय RIGHT JOIN का उपयोग करते हैं। इस प्रकार का कनेक्शन चालू स्थिति में दाएँ तालिका में पंक्तियों को लौटाता है और केवल शेष तालिकाएँ लेता है जो निर्धारित शर्तों को पूरा करती हैं।

सिंटैक्स राइट जॉइन

  SELECT c ot 
FROM bang1
RIGHT [OUTER] JOIN bang2
ON bang1.cot = bang2.cot;

SQL सर्वर में शामिल हों
चित्रण राइट जॉइन

लौटे परिणाम में बैंग2 शामिल है और रिकॉर्ड्स स्टेट1 में हैं जो बैंग2 (तस्वीर में नीला क्षेत्र) को सौंपा गया है।

उदाहरण राइट जॉइन

  SELECT don hang.donhang_id, donhang.donhang_ngay, nhacung.nhacung_ten 
FROM nhacung
RIGHT OUTER JOIN donhang
ON nhacung.nha cung_id = donhang.nhacung_id;

लौटा हुआ परिणाम डोनहैंग तालिका की सभी पंक्तियाँ हैं और केवल वे पंक्तियाँ हैं जो nhacung तालिका में आवश्यकताओं को पूरा करती हैं।

यदि डोनहांग तालिका में nhacung_id का मान तालिका में मौजूद नहीं है, तो सूची के सभी फ़ील्ड परिणाम तालिका में दिखाई देंगे।

नीचे एक विशिष्ट उदाहरण दिया गया है। तालिका में nhacung_id और nhacung_ten शामिल हैं।

nhacung_id nhacung_ten 10000 Apple 10001 Google

डोनहांग तालिका में donhang_id, nhacung_id और donhang_ngay शामिल हैं।

donhang_id nhcung_id डोनहंग_नगे 500125 10000 2003/08/12 500126 10001 2003/08/13 500127 10002 2003/08/14

अगर नीचे सेलेक्ट कमांड चला रहे हैं:

  SELECT donhang.don hang_id, donhang.donhang_ngay, nhacung.nhacung_ten 
FROM nhacung
RIGHT OUTER JOIN donhang
ON nhacung.nhacung_id = donhang.nhacung_id;

परिणाम इस प्रकार होगा:

donhang_id डोनहंग_नगे nhacung_id 500125 2003/08/12 Apple 500126 2003/08/13 Google 500127 2003/08/14

पंक्ति 500127 (donhang_id) अभी भी परिणाम तालिका में है क्योंकि राइट आउटर जॉइन है उपयोग में। ध्यान दें कि उस रिकॉर्ड के लिए nhacung_ten में मान होता है।

पूरा बाहरी जुड़ाव

कुछ डेटाबेस फुल OUTER JOIN के बजाय FULL JOIN का उपयोग करते हैं। यह कनेक्शन प्रकार बाएँ और दाएँ तालिकाओं में सभी पंक्तियों और शर्तों को पूरा नहीं करने वाली स्थितियों में सेट किए गए NULL मान लौटाता है।

सिंटैक्स फुल जॉइन

  SELE CT cot 
FROM bang1
FULL [OUTER] JOIN bang2
ON bang1.c ot = bang2.cot;

SQL सर्वर में शामिल हों
हरित क्षेत्र के परिणाम के साथ पूर्ण जुड़ाव का चित्रण करें

लौटे परिणाम में बैंग1 और बैंग2 के सभी रिकॉर्ड शामिल हैं।

उदाहरण पूर्ण जॉइन

  SELECT nhacung. nhacung_id, nhacung.nhacung_ten, donhang.donhang_ngay 
FROM nhacung
FULL OUTER JOIN donhang
ON nhacung.nhacung_i d = donhang.nhacung_id;

उपरोक्त उदाहरण तालिका और डोनहैंग से सभी पंक्तियों को वापस कर देगा, लेकिन जब शर्त पूरी नहीं होती है, तो मान परिणाम तालिका पर सेट हो जाएगा।

यदि संगीत पैनल में nhacung_id डोनहांग तालिका में नहीं है, या डोनहांग तालिका में nhacung_id मान संगीत पैनल में नहीं है, तो सूचना फ़ील्ड प्रदर्शित की जाएंगी।

नीचे FULL OUTER JOIN का एक विशिष्ट उदाहरण दिया गया है। तालिका में nhacung_id और nhacung_ten शामिल हैं।

nhacung_id nhacung_ten 10000 IBM 10001 Hewlett Packard 10002 Microsoft 10003 NVIDIA

Donhang तालिका में donhang_id, nhacung_id और donhang_ngay शामिल हैं।

donhang_id nhacung_id डोनहंग_नगे 500125 10000 2003/08/12 500126 10001 2003/08/13 500127 10004 2003/08/14

अगर नीचे सेलेक्ट कमांड चला रहे हैं:

  SELECT nhacung .nhacung_id, nhacung.nhacung_ten, donhang.donhang_ngay 
FROM nhacung
FULL OUTER JOIN donhang
ON nhacung.nhacung_i d = donhang.nhacung_id;

परिणाम इस प्रकार होगा:

nhacung_id nhacung_ten 10,000 donhang_ngay IBM 2003/08/12 10001 Hewlett Packard 2003/08/13 10002 Microsoft 10003 NVIDIA 2003/08/14

Microsoft और NVIDIA उत्पाद अभी भी परिणाम सेट में हैं क्योंकि वे उपयोग कर रहे हैं पूर्ण बाहरी शामिल हों। फिर इन अभिलेखों के donhang_ngay में मान होते हैं। nhacung_id के लिए पंक्ति 10004 है जो परिणाम तालिका में भी है लेकिन इन अभिलेखों के nhacung_id और nhacung_ten में मान होते हैं।


  1. SQL सर्वर में शामिल हों

    SQL Server (Transact-SQL) में JOIN का उपयोग कई तालिकाओं से डेटा पुनर्प्राप्त करने के लिए किया जाता है, जब SQL कमांड में दो या दो से अधिक टेबल एक साथ जुड़े होते हैं। यहाँ SQL सर्वर में 4 प्रकार के JOIN हैं आंतरिक शामिल हों - साधारण कनेक्शन फॉर्म के रूप में भी जाना जाता है बाएं बाहरी शामिल हों - या ब

  1. SQL सर्वर में FROM क्लॉज

    SQL Server FROM क्लॉज (T-SQL) का उपयोग SQL सर्वर क्वेरी में आवश्यक तालिकाओं को सूचीबद्ध करने के लिए किया जाता है। क्लॉज क्लॉज से FROM bang1 [ { INNER JOIN | LEFT OUTER JOIN | RIGHT OUTER JOIN | FULL OUTER JOIN } bang2 ON bang1.cot1 = bang2.cot1 ] परिवर्तनीय नाम और चर मान bang1 और बैंग2 - SQL

  1. एमएस एसक्यूएल सर्वर क्या है?

    एसक्यूएल सर्वर क्या है? आरडीबीएमएस पर आधारित माइक्रोसॉफ्ट द्वारा विकसित सॉफ्टवेयर। एक ORDBMS (ऑब्जेक्ट रिलेशनल डेटाबेस मैनेजमेंट सिस्टम) भी है। एक स्वतंत्र मंच। सॉफ्टवेयर कमांड लाइन इंटरफेस और जीयूआई इंटरफेस दोनों का उपयोग करता है। SQL भाषा समर्थन (पूर्व में SEQUEL - संरचित अंग्रेजी क्वेरी भाषा) -