कोडिंग साक्षात्कार की तैयारी · पाठ

अभिव्यक्तियों और उपनामों से क्रमित करना

जानें कि ORDER BY में उपनामों के संदर्भ कहाँ मान्य हैं और परिकलित तर्क से क्रम कैसे लगाएँ

पाठ 4, कुल 4 में से13 चरण

अभिव्यक्तियों और उपनामों से क्रमित करना, CoddyKit पर कोडिंग साक्षात्कार की तैयारी का एक निःशुल्क पाठ है। यह 4 में से 4वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह कोडिंग साक्षात्कार की तैयारी सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। कोडिंग साक्षात्कार की तैयारी पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

ORDER BY आपकी सोच से अधिक लचीला है

कई उम्मीदवार आश्चर्यजनक रूप से मानते हैं कि ORDER BY केवल साधारण स्तंभों को संदर्भित कर सकता है। वास्तव में आप व्यंजकों, उपनामों, स्तंभ स्थितियों और CASE तर्क के आधार पर क्रमबद्ध कर सकते हैं।

साक्षात्कारकर्ता इसका उपयोग यह जाँचने के लिए करते हैं कि आप क्वेरी के तार्किक निष्पादन क्रम को समझते हैं या नहीं, क्योंकि ORDER BY, SELECT के बाद चलता है। इसी कारण यहाँ उपनाम काम करते हैं, लेकिन WHERE में नहीं।

ORDER BY में उपनाम मान्य क्यों हैं

तार्किक निष्पादन क्रम याद करें: FROM, WHERE, GROUP BY, HAVING, SELECT, फिर ORDER BY। चूँकि SELECT, ORDER BY से पहले चलता है, इसलिए SELECT में परिभाषित किए गए स्तंभ उपनाम ORDER BY के मूल्यांकन के समय पहले से उपलब्ध होते हैं।

यही सटीक कारण है कि उपनाम ORDER BY में काम करता है, लेकिन WHERE में विफल रहता है—यह ऐसा प्रश्न है, जिसे साक्षात्कारकर्ता निष्पादन क्रम से जोड़ना पसंद करते हैं।

SELECT name, salary * 12 AS annual_pay
FROM employees
ORDER BY annual_pay DESC;

कच्चे व्यंजक के आधार पर क्रमबद्ध करना

उपनाम का उपयोग करने के बजाय आप पूरा व्यंजक ORDER BY में दोहरा भी सकते हैं। दोनों मान्य हैं और परिणाम समान होता है।

उपनाम का उपयोग अधिक साफ़ है और तर्क को दोहराने से बचाता है, लेकिन कुछ दल स्पष्टता के लिए प्रत्यक्ष व्यंजक पसंद करते हैं। साक्षात्कार में दोनों में से कोई भी उत्तर स्वीकार्य है, बशर्ते आप उसका कारण बता सकें।

SELECT name, salary * 12 AS annual_pay
FROM employees
ORDER BY salary * 12 DESC;

स्तंभ स्थिति (क्रमांक) के आधार पर क्रमबद्ध करना

आप SELECT सूची के किसी तत्व की क्रमांकित स्थिति के आधार पर क्रमबद्ध कर सकते हैं: ORDER BY 2 दूसरे चुने गए स्तंभ के आधार पर क्रमबद्ध करता है। यह संक्षिप्त है, लेकिन नाज़ुक भी है, क्योंकि SELECT सूची का क्रम बदलने पर क्रमबद्धता चुपचाप बदल जाती है।

साक्षात्कार की सलाह: जानें कि यह सुविधा मौजूद है, लेकिन पठनीयता और सुरक्षा के लिए उत्पादन कोड में आम तौर पर इससे बचा जाता है।

SELECT name, hire_date
FROM employees
ORDER BY 2 DESC;

गणना किए गए CASE के आधार पर क्रमबद्ध करना

एक शक्तिशाली तरीका है कि मनचाहा, वर्णमाला-आधारित न होने वाला क्रम लागू करने के लिए CASE व्यंजक के आधार पर क्रमबद्ध किया जाए। यहाँ हम व्युत्पन्न प्राथमिकता का उपयोग करके अधिक कमाई करने वालों को पहले दिखाते हैं।

CASE एक ऐसा क्रम रैंक बनाता है, जिसका अपना कोई स्तंभ नहीं होता; इंजन इसका मूल्यांकन केवल क्रमबद्ध करने के लिए करता है।

SELECT name, salary
FROM employees
ORDER BY CASE WHEN salary >= 100000 THEN 0 ELSE 1 END,
         salary DESC;

मनचाहा श्रेणीगत क्रम

स्थिति वाले स्तंभ वर्णमाला के क्रम में शायद ही कभी सही ढंग से क्रमबद्ध होते हैं। “सक्रिय, लंबित, बंद” का वर्णमाला क्रम “सक्रिय, बंद, लंबित” होगा, जो गलत है। CASE प्रत्येक मान को एक सोच-समझकर तय की गई रैंक से जोड़ता है।

रिपोर्ट तैयार करने की आवश्यकता में यह अक्सर काम आता है और यह दिखाने का साफ़ तरीका है कि आप स्वाभाविक क्रम से आगे भी क्रमबद्धता नियंत्रित कर सकते हैं।

SELECT id, status
FROM orders
ORDER BY CASE status
           WHEN 'active'  THEN 1
           WHEN 'pending' THEN 2
           WHEN 'closed'  THEN 3
           ELSE 4
         END;

फ़ंक्शन के परिणाम के आधार पर क्रमबद्ध करना

ORDER BY में कोई भी अदिश फ़ंक्शन काम करता है। उदाहरण के लिए, LOWER के साथ बड़े-छोटे अक्षरों की परवाह किए बिना क्रमबद्ध करें, या पाठ की लंबाई अथवा दिनांक के किसी भाग के आधार पर क्रमबद्ध करें।

ध्यान दें: क्रमबद्ध करते समय किसी स्तंभ को फ़ंक्शन में लपेटने से इंजन उस स्तंभ पर मौजूद इंडेक्स का उपयोग नहीं कर पाता, ठीक वैसे ही जैसे WHERE में होता है।

SELECT name
FROM employees
ORDER BY LOWER(name) ASC;

GROUP BY क्वेरियों में उपनाम बनाम समेकित मान

समूहीकृत क्वेरी में आप अक्सर किसी समेकित मान के आधार पर क्रमबद्ध करते हैं। आप ORDER BY में उस समेकित मान के उपनाम का संदर्भ दे सकते हैं, फिर से इसलिए कि SELECT पहले चलता है।

नीचे दी गई क्वेरी प्रत्येक ग्राहक के ऑर्डर गिनती है और उस गिनती के आधार पर घटते क्रम में क्रमबद्ध करती है, जिसके लिए order_count उपनाम का उपयोग किया गया है।

SELECT customer_id, COUNT(*) AS order_count
FROM orders
GROUP BY customer_id
ORDER BY order_count DESC;

उपनाम और नाम के टकराव की पेचीदगी

साक्षात्कारकर्ताओं को पसंद आने वाला एक विशेष मामला: यदि आपके उपनाम का नाम किसी वास्तविक स्तंभ के समान हो तो क्या होगा? अधिकांश इंजन ORDER BY में अकेले नाम को पहले SELECT सूची के उपनाम के रूप में समझते हैं, जिससे आश्चर्य हो सकता है।

यदि आप salary * 2 AS salary का उपनाम देते हैं और फिर ORDER BY salary लिखते हैं, तो क्रम दुगुने मान के आधार पर होगा, मूल स्तंभ के आधार पर नहीं। इस अस्पष्टता से बचने के लिए स्तंभ नामों को दोबारा उपनाम के रूप में उपयोग न करें।

SELECT salary * 2 AS salary
FROM employees
ORDER BY salary;

व्यंजकों और दिशाओं को मिलाना

आप इन सभी को एक ही खंड में मिला सकते हैं: पहले एक व्यंजक, फिर एक उपनाम और फिर एक साधारण स्तंभ—हर एक की अपनी दिशा के साथ। उदाहरण में पहले गणना की गई बोनस श्रेणी के आधार पर घटते क्रम में और फिर निर्णायक कुंजी के रूप में नाम के आधार पर बढ़ते क्रम में क्रमबद्ध किया गया है।

इस तरह कुंजियों की परतें बनाना वास्तविक रिपोर्टिंग क्वेरियों का मूल आधार है।

SELECT name, salary,
       salary * 0.1 AS bonus
FROM employees
ORDER BY bonus DESC, name ASC;

पोर्टेबिलिटी संबंधी सावधानियाँ

हालाँकि ORDER BY में व्यंजक और उपनाम व्यापक रूप से समर्थित हैं, साक्षात्कार के लिए कुछ बातें ध्यान रखें:

  • क्रमांकित स्थितियाँ (ORDER BY 2) मानक हैं, लेकिन इनसे बचने की सलाह दी जाती है।
  • ORDER BY में उपनाम की दृश्यता प्रमुख इंजनों में एक जैसी है, जबकि WHERE/HAVING में ऐसा नहीं है।
  • SELECT DISTINCT आपको सीमित करता है: आप केवल उन व्यंजकों के आधार पर ORDER BY कर सकते हैं, जो SELECT सूची में दिखाई देते हैं।

त्वरित जाँच

उपनाम की दृश्यता को निष्पादन क्रम से जोड़िए।

पुनरावलोकन

अभिव्यक्तियों और उपनामों के आधार पर क्रमबद्ध करना:

  • ORDER BY उपनामों, मूल अभिव्यक्तियों, फलनों, CASE तर्क और क्रम-सूचक स्थानों को स्वीकार करता है।
  • उपनाम काम करते हैं क्योंकि तार्किक क्रम में ORDER BY, SELECT के बाद चलता है।
  • मनचाहा श्रेणी-क्रम बनाने के लिए CASE का उपयोग कीजिए।
  • अस्पष्टता से बचने के लिए ऐसे उपनामों से बचिए जो वास्तविक स्तंभों के नामों से टकराते हों।
  • क्रमबद्ध करने की कुंजी में फलन अनुक्रमणिका के उपयोग को निष्फल कर सकते हैं।
शुरुआत निःशुल्क

एआई शिक्षक के साथ कोडिंग साक्षात्कार की तैयारी सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
90
पाठ
360

अक्सर पूछे जाने वाले प्रश्न

क्या “अभिव्यक्तियों और उपनामों से क्रमित करना” पाठ निःशुल्क है?

हाँ—“अभिव्यक्तियों और उपनामों से क्रमित करना” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और कोडिंग साक्षात्कार की तैयारी पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। कोडिंग साक्षात्कार की तैयारी पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“अभिव्यक्तियों और उपनामों से क्रमित करना” में मैं क्या सीखूँगा?

जानें कि ORDER BY में उपनामों के संदर्भ कहाँ मान्य हैं और परिकलित तर्क से क्रम कैसे लगाएँ आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ कोडिंग साक्षात्कार की तैयारी का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या कोडिंग साक्षात्कार की तैयारी शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर कोडिंग साक्षात्कार की तैयारी शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 4वाँ पाठ है।

“अभिव्यक्तियों और उपनामों से क्रमित करना” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस कोडिंग साक्षात्कार की तैयारी पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर कोडिंग साक्षात्कार की तैयारी पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. कई COLUMN की क्रम-सज्जा और NULL का स्थान
  2. LIMIT, OFFSET और FETCH FIRST
  3. विश्वसनीय रूप से शीर्ष-N ROW लौटाना
  4. अभिव्यक्तियों और उपनामों से क्रमित करना
← कोडिंग साक्षात्कार की तैयारी पर वापस जाएँ