TOP
का उपयोग करते समय SQL सर्वर में एक क्वेरी में क्लॉज, आप ऐसे अवसरों का सामना कर सकते हैं जहां दो या दो से अधिक परिणाम अंतिम स्थान के लिए टाई करते हैं। आपको शायद पता भी नहीं होगा कि ऐसा कब होता है, क्योंकि TOP
. का डिफ़ॉल्ट व्यवहार आपके द्वारा निर्दिष्ट पंक्तियों की संख्या से अधिक नहीं लौटाना है।
TOP
क्लॉज एक WITH TIES
को स्वीकार करता है तर्क जो आपको यह निर्दिष्ट करने की अनुमति देता है कि अंतिम स्थान के लिए टाई करने वाले सभी परिणामों को शामिल करना है या नहीं। पंक्तियाँ अपने ORDER BY
. के कारण अंतिम स्थान के लिए टाई कर सकती हैं एक ही मान वाले कॉलम। इसलिए इस तर्क का उपयोग करने से आपके द्वारा वास्तव में निर्दिष्ट की तुलना में अधिक पंक्तियाँ वापस आ सकती हैं।
उदाहरण 1 - डेटा
सबसे पहले, यह वह डेटा है जिसके साथ हम निम्नलिखित उदाहरणों में काम करेंगे:
एल्बम आईडी, एल्बम नाम, कलाकार आईडी को एल्बम से चुनें;
परिणाम:
+-----------+--------------------------+---------- -----+| एल्बम आईडी | एल्बम का नाम | कलाकार आईडी ||-----------+--------------------------+---------- ----|| 1 | पॉवरस्लेव | 1 || 2 | शक्ति | 2 || 3 | सिंगिंग डाउन द लेन | 6 || 4 | ज़िल्टॉइड सर्वज्ञ | 5 || 5 | कूल के हताहत | 5 || 6 | एपिक्लाउड | 5 || 7 | कहीं समय में | 1 || 8 | मन का टुकड़ा | 1 || 9 | हत्यारे | 1 || 10 | मरने के लिए कोई प्रार्थना नहीं | 1 || 11 | मौन के बिना कोई आवाज नहीं | 9 || 12 | बिग स्विंग फेस | 4 || 13 | नीली रात | 12 || 14 | अनंत काल | 12 || 15 | स्कैंडिनेविया | 12 || 16 | लांग लॉस्ट सूटकेस | 7 || 17 | स्तुति और दोष | 7 || 18 | साथ आया जोन्स | 7 || 19 | सारी रात गलत | 3 || 20 | ताइन के सोलह पुरुष | 3 || 21 | यो वासुप | 9 || 22 | पर्दाफाश | 9 |+----------+--------------------------+---------- ----+
उदाहरण 2 - बिना टाई के TOP का उपयोग करें
अगर हम TOP
का उपयोग करते हैं तो यहां बताया गया है कि क्या होता है बिना WITH TIES
निर्दिष्ट करना . इस तरह से ज्यादातर लोग इस क्लॉज का इस्तेमाल करते हैं।
इस मामले में, मैं ArtistId
. द्वारा परिणामों का आदेश देता हूं .
शीर्ष चुनें(3) एल्बम आईडी, एल्बम नाम, कलाकार आईडी से कलाकार आईडी एएससी द्वारा ऑर्डर करें;
परिणाम:
+-----------+---------------------+---------------+| एल्बम आईडी | एल्बम का नाम | कलाकार आईडी ||-----------+---------------------+---------------|| 1 | पॉवरस्लेव | 1 || 7 | कहीं समय में | 1 || 8 | मन का टुकड़ा | 1 |+----------+---------------------+---------------+
जैसा कि अपेक्षित था, हमें तीन पंक्तियाँ मिलती हैं। TOP
. द्वारा निर्दिष्ट के अनुसार ये शीर्ष तीन हैं खंड।
उदाहरण 3 - टॉप विद टाईज़ का उपयोग करें
अब संबंधों के लिए। अगर हम WITH TIES
add जोड़ते हैं तो यहां क्या होता है? ।
टाईस के साथ टॉप(3) चुनेंपरिणाम:
+-----------+--------------------------+---------- ----+| एल्बम आईडी | एल्बम का नाम | कलाकार आईडी ||-----------+--------------------------+------- ---|| 1 | पॉवरस्लेव | 1 || 7 | कहीं समय में | 1 || 8 | मन का टुकड़ा | 1 || 9 | हत्यारे | 1 || 10 | मरने के लिए कोई प्रार्थना नहीं | 1 |+----------+--------------------------+----------- ---+अब हमें केवल तीन के बजाय पाँच पंक्तियाँ मिलती हैं। ऐसा इसलिए है क्योंकि दो और पंक्तियाँ हैं जो समान
ArtistId
साझा करती हैं तीसरी पंक्ति के रूप में। दूसरे शब्दों में, अंतिम स्थान के लिए तीन पंक्तियाँ बंधी हुई थीं।ध्यान दें कि SQL सर्वर में, पंक्तियों को बांधने का दिया गया क्रम मनमाना है।
उदाहरण 4 - संबंधों को खत्म करने के लिए खंड द्वारा संशोधित आदेश
अगर हम
AlbumId
जोड़ते हैंORDER BY
. के लिए कॉलम खंड, यह संबंधों को पूरी तरह से समाप्त कर देता है।टाईस के साथ टॉप(3) चुनेंपरिणाम:
+-----------+---------------------+---------------+| एल्बम आईडी | एल्बम का नाम | कलाकार आईडी ||-----------+---------------------+---------------|| 1 | पॉवरस्लेव | 1 || 7 | कहीं समय में | 1 || 8 | मन का टुकड़ा | 1 |+----------+---------------------+---------------+तो तब भी जब हम
WITH TIES
निर्दिष्ट करते हैं , इस मामले में कोई भी मौजूद नहीं है।उदाहरण 5 - WHERE क्लॉज का उपयोग करना
यहां एक अंतिम उदाहरण दिया गया है, जहां मैं
WHERE
. का उपयोग करता हूं तालिका के मध्य से पंक्तियों का एक गुच्छा निकालने के लिए खंड। पहला उदाहरण संबंधों के बिना है, और दूसरा संबंधों के साथ है।संबंधों के बिना:
चुनें शीर्ष(4) एल्बम आईडी, एल्बम नाम, कलाकार आईडी एल्बम से जहां एल्बम आईडी> कलाकार आईडी एएससी द्वारा 10 आदेश;परिणाम:
+-----------+--------------------------+---------- ----+| एल्बम आईडी | एल्बम का नाम | कलाकार आईडी ||-----------+--------------------------+------- ---|| 19 | सारी रात गलत | 3 || 20 | ताइन के सोलह पुरुष | 3 || 12 | बिग स्विंग फेस | 4 || 16 | लांग लॉस्ट सूटकेस | 7 |+----------+---------------------------+-------- ---+संबंधों के साथ:
टाईस के साथ टॉप(4) चुनेंपरिणाम:
+-----------+--------------------------+---------- ----+| एल्बम आईडी | एल्बम का नाम | कलाकार आईडी ||-----------+--------------------------+------- ---|| 19 | सारी रात गलत | 3 || 20 | ताइन के सोलह पुरुष | 3 || 12 | बिग स्विंग फेस | 4 || 16 | लांग लॉस्ट सूटकेस | 7 || 17 | स्तुति और दोष | 7 || 18 | साथ आया जोन्स | 7 |+----------+---------------------------+-------- ---+