Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

Python में MySQL का उपयोग करके दो टेबल पर सेल्फ जॉइन करना

हम SQL में दो टेबल को उनके बीच एक सामान्य कॉलम के आधार पर या किसी निर्दिष्ट शर्त के आधार पर जोड़ सकते हैं। दो SQL टेबल को जोड़ने के लिए विभिन्न प्रकार के JOIN उपलब्ध हैं।

यहां हम दो टेबल पर SELF JOIN के बारे में चर्चा करेंगे।

जैसा कि नाम से पता चलता है, SELF JOIN टेबल का स्वयं के साथ जॉइन है। यह जॉइन उसी टेबल की दो प्रतियों के बीच किया जाता है। टेबल की पंक्तियों का मिलान कुछ शर्त के आधार पर उसी टेबल की अन्य पंक्तियों के साथ किया जाता है।

सिंटैक्स

SELECT a.column1, b.column2 FROM table_name a, table_name b WHERE condition;

a और b उसी टेबल के दो उपनाम हैं।

table_name उस टेबल का नाम है जिस पर सेल्फ जॉइन किया जाना है। चूंकि हम सेल्फ जॉइन कर रहे हैं, इसलिए दोनों स्थानों पर वही टेबल नाम उपयोग किया जाता है।

उदाहरण

मान लीजिए Students नाम की एक टेबल है:

+----------+--------------+-----------+
| id       | Student_name | Dept_id   |
+----------+--------------+-----------+
| 1        | Rahul        | 120       |
| 2        | Rohit        | 121       |
| 3        | Kirat        | 121       |
| 4        | Inder        | 123       |
+----------+--------------+-----------+

हम उपरोक्त टेबल पर शर्त a.Dept_id < b.Dept_id के आधार पर सेल्फ जॉइन करेंगे। इसका मतलब है कि टेबल की प्रत्येक पंक्ति का मिलान टेबल की उन अन्य पंक्तियों के साथ किया जाएगा जिनके Dept_id उस विशेष पंक्ति से कम हैं।

Python में MySQL का उपयोग करके दो टेबल पर सेल्फ जॉइन करने के चरण

  • MySQL कनेक्टर आयात करें
  • connect() से कनेक्शन स्थापित करें
  • cursor() से कर्सर ऑब्जेक्ट बनाएं
  • उपयुक्त MySQL स्टेटमेंट से क्वेरी बनाएं
  • execute() से SQL क्वेरी निष्पादित करें
  • कनेक्शन बंद करें
import mysql.connector

db = mysql.connector.connect(
    host="your_host",
    user="your_username",
    password="your_password",
    database="database_name"
)

cursor = db.cursor()
query = "SELECT a.Dept_id, b.Student_name FROM Students a, Students b WHERE a.Dept_id < b.Dept_id"
cursor.execute(query)
rows = cursor.fetchall()
for x in rows:
    print(x)
db.close()

आउटपुट

Dept_id Student_name
120Rohit
120Kirat
120Inder
121Inder
121Inder
  1. Python का उपयोग करके TensorFlow में दो मैट्रिक्स को कैसे गुणा करें? Python का उपयोग करके TensorFlow में दो मैट्रिक्स को कैसे गुणा करें?

    TensorFlow, Google द्वारा प्रदान किया गया एक मशीन लर्निंग फ्रेमवर्क है। यह एक ओपन-सोर्स फ्रेमवर्क है जिसे Python के साथ मिलकर एल्गोरिदम, डीप लर्निंग एप्लिकेशन और बहुत कुछ लागू करने के लिए उपयोग किया जाता है। इसका उपयोग अनुसंधान और उत्पादन उद्देश्यों के लिए किया जाता है। इसमें ऑप्टिमाइज़ेशन तकनीकें ह

  1. Python का उपयोग करके TensorFlow में दो मैट्रिक्स को कैसे जोड़ें? Python का उपयोग करके TensorFlow में दो मैट्रिक्स को कैसे जोड़ें?

    TensorFlow, Google द्वारा प्रदान किया गया एक मशीन लर्निंग फ्रेमवर्क है। यह एक ओपन-सोर्स फ्रेमवर्क है जिसे Python के साथ मिलकर एल्गोरिदम, डीप लर्निंग एप्लिकेशन और बहुत कुछ लागू करने के लिए उपयोग किया जाता है। इसका उपयोग अनुसंधान और उत्पादन उद्देश्यों के लिए किया जाता है। इसमें ऑप्टिमाइज़ेशन तकनीकें ह

  1. - Python का उपयोग करके दो वेरिएबल्स को स्वैप कैसे करें?

    Python में दो वेरिएबल्स स्वैप करना एक अस्थायी वेरिएबल का उपयोग करके >>> x = 10 >>> y = 20 >>> z = x >>> x = y >>> y = z >>> x, y (20, 10) अस्थायी वेरिएबल के बिना >>> a, b = 5, 7 >>> a, b (5, 7) >>> a, b = b, a >&g