⊗pyPmDOGD 123 of 129 menu

पायथन में संबंधित टेबल्स से डेटा प्राप्त करना

आइए एक क्वेरी बनाते हैं जो सभी उपयोगकर्ताओं को उनके शहरों के साथ प्राप्त करेगी। इसके लिए LEFT JOIN कमांड की आवश्यकता होगी:

इसका सिंटैक्स निम्नलिखित प्रकार से दिखता है:

SELECT fields FROM table_name LEFT JOIN related_table_name ON join_condition WHERE selection_condition

आइए इस कमांड के सिंटैक्स के अलग-अलग हिस्सों को समझते हैं।

फ़ील्ड्स

चूंकि डेटा कई टेबल्स से चुना जा रहा है, तो * के माध्यम से सभी फ़ील्ड्स को चुनना काम नहीं करेगा। निम्नलिखित क्वेरी केवल मुख्य टेबल से फ़ील्ड्स चुनेगी, लेकिन संबंधित टेबल से नहीं:

SELECT *

ताकि डेटा सभी टेबल्स से चुना जाए, इसके लिए * से पहले टेबल का नाम निर्दिष्ट करना आवश्यक है:

SELECT users.*, cities.*

या तो आवश्यक फ़ील्ड्स को उनके सामने टेबल का नाम निर्दिष्ट करके सूचीबद्ध किया जा सकता है:

SELECT users.name, cities.name

इन दोनों तरीकों में एक समस्या है। बात यह है कि यदि टेबल्स में फ़ील्ड्स के नाम समान हैं, तो Python की सरणी में नामों का टकराव होगा और केवल एक ही फ़ील्ड जीतेगा, और दूसरा नहीं होगा।

समस्या के समाधान के लिए टकराव वाले नामों को as कमांड के माध्यम से बदलना होगा:

SELECT users.name, cities.name as city_name

संबंध

ON कमांड के बाद हमें उन दोनों टेबल्स की फ़ील्ड्स निर्दिष्ट करनी होंगी, जिनके माध्यम से संबंध स्थापित होता है। हमारे मामले में यह शहरों वाली टेबल से id फ़ील्ड और उपयोगकर्ताओं वाली टेबल से city_id फ़ील्ड होगी:

ON cities.id=users.city_id

क्वेरी

अंततः, वह क्वेरी जो उपयोगकर्ताओं को उनके शहरों के साथ प्राप्त करेगी, निम्नलिखित प्रकार से दिखेगी:

SELECT users.name, cities.name as city_name FROM users LEFT JOIN cities ON cities.id=users.city_id

व्यावहारिक कार्य

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

हिन्दी
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
हम साइट के कार्य, विश्लेषण और व्यक्तिगतकरण के लिए कुकीज़ का उपयोग करते हैं। डेटा प्रसंस्करण गोपनीयता नीति के अनुसार किया जाता है।
सभी स्वीकार करें कॉन्फ़िगर करें अस्वीकार करें