"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > एक ही तालिका से पंक्तियों की तुलना करने के लिए MySQL में सेल्फ-जॉइन कैसे काम करते हैं?

एक ही तालिका से पंक्तियों की तुलना करने के लिए MySQL में सेल्फ-जॉइन कैसे काम करते हैं?

2024-11-20 को प्रकाशित
ब्राउज़ करें:689

How do self-joins work in MySQL to compare rows from the same table?

MySQL सेल्फ-जॉइन कैसे काम करता है?

MySQL में सेल्फ-ज्वाइन में एक ही तालिका के दो उदाहरणों को शामिल करना शामिल है, आमतौर पर विभिन्न उपनाम. यह आपको विशिष्ट मानदंडों के आधार पर एक ही तालिका की पंक्तियों की तुलना करने की अनुमति देता है। इवेंट2.आईडी, इवेंट2.स्टार्टडेट, इवेंट2.प्राइस mm_eventlist_dates इवेंट1 से mm_eventlist_dates इवेंट2 में शामिल हों ON इवेंट2.स्टार्टडेट = date_add(event1.enddate, अंतराल 1 दिन) WHERE इवेंट1.id=$id

FROM Clause

यह निर्दिष्ट करता है कि किन तालिकाओं में शामिल होना है:

SELECT event2.id, event2.startdate, event2.price
FROM mm_eventlist_dates event1
JOIN mm_eventlist_dates event2 
ON event2.startdate = date_add(event1.enddate, INTERVAL 1 DAY)
WHERE event1.id=$id

एक ही तालिका, mm_eventlist_dates, दो बार उपयोग की जाती है और इसे इवेंट1 और इवेंट2 के रूप में उपनाम दिया गया है।

ऑन क्लॉज

FROM mm_eventlist_dates event1
JOIN mm_eventlist_dates event2 

ON इवेंट2.स्टार्टडेट = date_add(event1.enddate, INTERVAL 1 DAY)

यह इवेंट 2 में पंक्तियां ढूंढता है जहां प्रारंभ तिथि इवेंट 1 में संबंधित पंक्ति की समाप्ति तिथि के अगले दिन से मेल खाती है।

WHERE क्लॉज

ON event2.startdate = date_add(event1.enddate, INTERVAL 1 DAY)

कहाँ इवेंट1.id=$id

यह इवेंट1 से उन पंक्तियों का चयन करता है जहां आईडी दिए गए वेरिएबल, $id से मेल खाती है।

SELECT Clause

WHERE event1.id=$id

इवेंट2.id, इवेंट2.स्टार्टडेट चुनें, इवेंट2.price

यह इवेंट2 इंस्टेंस से आईडी, प्रारंभ तिथि और कीमत पुनर्प्राप्त करता है, जिसमें एक दिन तक निर्दिष्ट इवेंट (इवेंट1) के बाद की घटनाओं के बारे में जानकारी होती है।

दृश्य प्रदर्शन

SELECT event2.id, event2.startdate, event2.price

event1.id

event1.enddate

event2.idevent2.startdate22023-03-022023-03-04साथ में दी गई क्वेरी:यह अंतिम तिथि और एक दिन (2023-03-02) की गणना करता है।
12023-03-01
32023-03-034
यह $id के बराबर आईडी के साथ इवेंट1 को पुनः प्राप्त करता है (उदाहरण के लिए, 1)।
यह समान प्रारंभ तिथि (2023-03-02) वाली पंक्तियों के लिए इवेंट2 खोजता है।

यह वापस आता है मेल खाने वाली इवेंट2 पंक्ति की आईडी, प्रारंभ तिथि और कीमत।
  • यह दर्शाता है कि कैसे एक MySQL सेल्फ-जॉइन आपको एक ही तालिका के भीतर भी निर्दिष्ट मानदंडों के आधार पर संबंधित पंक्तियों की पहचान करने की अनुमति देता है।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3