SQL सर्वर IF…ELSE कंडीशन स्टेटमेंट: T-SQL सेलेक्ट क्वेरी उदाहरण
आपको सशर्त कथनों की आवश्यकता क्यों है?
SQL सर्वर में सशर्त कथन आपको विभिन्न स्थितियों के लिए अलग-अलग तर्क और क्रियाएँ परिभाषित करने में मदद करते हैं। यह आपको कथन के भीतर परिभाषित शर्तों के आधार पर अलग-अलग क्रियाएँ करने की अनुमति देता है। वास्तविक जीवन में, आप किसी अन्य गतिविधि या स्थिति के परिणाम पर निर्भर कई क्रियाएँ करते हैं।
SQL केस स्टेटमेंट के कुछ वास्तविक समय उदाहरण हैं:
- अगर कल बारिश होगी तो मैं सड़क यात्रा की योजना बनाऊंगा।
- यदि मेरे शहर से हवाई जहाज का टिकट 400 डॉलर से कम है, तो मैं यूरोप में छुट्टियां मनाने जाऊंगा, अन्यथा मैं किसी नजदीकी पर्यटन स्थल पर जाना पसंद करूंगा।
यहाँ, आप देख सकते हैं कि एक क्रिया, ऊपर की रोड ट्रिप की तरह, है सशर्त रूप से आश्रित एक अन्य गतिविधि के परिणाम पर जो है "कल बारिश होगी या नहीं!"
इसी प्रकार, MS SQL भी T-SQL कथन को सशर्त रूप से निष्पादित करने की क्षमता प्रदान करता है।
SQL सर्वर में IF…Else कथन
In MS SQL, यदि…अन्यथा का एक प्रकार है सशर्त बयान.
किसी भी T-SQL कथन को सशर्त रूप से निष्पादित किया जा सकता है अगर… अन्यथा.
नीचे दिया गया चित्र SQL सर्वर में IF ELSE को समझाता है:

- यदि स्थिति का मूल्यांकन किया जाए सच, फिर T-SQL कथन के बाद IF SQL सर्वर में शर्त निष्पादित की जाएगी.
- यदि स्थिति का मूल्यांकन किया जाए झूठी, फिर T-SQL कथन के बाद और कीवर्ड निष्पादित किया जाएगा.
- एक बार, IF T-SQL कथन या ELSE T-SQL कथन निष्पादित हो जाने पर, अन्य बिना शर्त T-SQL कथनों का निष्पादन जारी रहता है।
SQL में IF…Else सिंटैक्स और नियम
सिंटेक्स:
IF <Condition>
{Statement | Block_of_statement}
[ ELSE
{Statement | Block_of_statement}]
नियम:
- शर्त यह होनी चाहिए बूलियन अभिव्यक्ति, अर्थात, मूल्यांकन करने पर स्थिति का परिणाम बूलियन मान में आता है।
- IF ELSE कथन एसक्यूएल सशर्त रूप से एकल T-SQL कथन या T-SQL कथनों के ब्लॉक को संभाल सकता है।
- स्टेटमेंट का ब्लॉक कीवर्ड BEGIN से शुरू होना चाहिए और कीवर्ड END के साथ बंद होना चाहिए।
- BEGIN और END का उपयोग करने से SQL सर्वर को उस स्टेटमेंट ब्लॉक की पहचान करने में मदद मिलती है जिसे निष्पादित करने की आवश्यकता होती है और इसे बाकी T-SQL स्टेटमेंट से अलग करने में मदद मिलती है जो IF…ELSE T-SQL ब्लॉक का हिस्सा नहीं हैं।
- ELSE वैकल्पिक है.
बूलियन अभिव्यक्ति में केवल संख्यात्मक मान के साथ IF…ELSE.
स्थिति: सत्य
IF (1=1) PRINT 'IF STATEMENT: CONDITION IS TRUE' ELSE PRINT 'ELSE STATEMENT: CONDITION IS FALSE'
स्थितिः असत्य
IF (1=2) PRINT 'IF STATEMENT: CONDITION IS TRUE' ELSE PRINT 'ELSE STATEMENT: CONDITION IS FALSE'
कल्पना: मान लें कि आपके पास तालिका इस प्रकार है 'Guru99 ' दो कॉलम और चार पंक्तियों के साथ जैसा कि नीचे प्रदर्शित है:
हम इस्तेमाल करेंगे 'Guru99 ' आगे के उदाहरणों में तालिका
बूलियन अभिव्यक्ति में चर के साथ IF…ELSE.
स्थिति: सत्य
DECLARE @Course_ID INT = 4 IF (@Course_ID = 4) Select * from Guru99 where Tutorial_ID = 4 ELSE Select * from Guru99 where Tutorial_ID != 4
स्थितिः असत्य
DECLARE @Course_ID INT = 4 IF (@Course_ID != 4) Select * from Guru99 where Tutorial_ID = 4 ELSE Select * from Guru99 where Tutorial_ID != 4
यदि…अन्यथा प्रारंभ अंत के साथ
स्थिति: सत्य
DECLARE @Course_ID INT = 2 IF (@Course_ID <=2) BEGIN Select * from Guru99 where Tutorial_ID = 1 Select * from Guru99 where Tutorial_ID = 2 END ELSE BEGIN Select * from Guru99 where Tutorial_ID = 3 Select * from Guru99 where Tutorial_ID = 4 END
स्थितिः असत्य
DECLARE @Course_ID INT = 2 IF (@Course_ID >=3) BEGIN Select * from Guru99 where Tutorial_ID = 1 Select * from Guru99 where Tutorial_ID = 2 END ELSE BEGIN Select * from Guru99 where Tutorial_ID = 3 Select * from Guru99 where Tutorial_ID = 4 END
IF कथन के साथ कोई और नहीं
आप SQL में ELSE भाग के बिना IF कथन का उपयोग कर सकते हैं। याद रखें कि हमने कहा था कि ELSE भाग वैकल्पिक है। उदाहरण के लिए:
DECLARE @Course_ID INT = 2 IF (@Course_ID <=2) Select * from Guru99 where Tutorial_ID = 1
यह निम्नलिखित प्रिंट करता है:
झूठी स्थिति को निष्पादित करने से कोई आउटपुट नहीं मिलेगा। निम्नलिखित क्वेरी पर विचार करें
DECLARE @Course_ID INT = 2 IF (@Course_ID <=0) Select * from Guru99 where Tutorial_ID = 1
इसका परिणाम यह हुआ
नेस्टेड IF…Else कथन
दूसरे के विपरीत प्रोग्रामिंग की भाषाएँ, आप SQL में IF ELSE कंडीशन के अंदर ELSE IF स्टेटमेंट नहीं जोड़ सकते। यही कारण है कि आप SQL क्वेरी स्टेटमेंट में IF ELSE को नेस्ट कर सकते हैं। इसे नीचे दर्शाया गया है:
DECLARE @age INT;
SET @age = 60;
IF @age < 18
PRINT 'underage';
ELSE
BEGIN
IF @age < 50
PRINT 'You are below 50';
ELSE
PRINT 'Senior';
END;
- इस उदाहरण में, यदि @age का मान 18 से कम है तो कोड underage प्रिंट करेगा।
- यदि नहीं, तो ELSE भाग निष्पादित किया जाएगा। ElSE भाग में एक नेस्टेड IF…ELSE है।
- यदि @age का मान 50 से कम है, तो यह प्रिंट करेगा आप 50 से नीचे हैं। यदि इनमें से कोई भी शर्त सत्य नहीं है, तो कोड सीनियर प्रिंट करेगा।
सारांश
- चर वह ऑब्जेक्ट है जो प्लेसहोल्डर के रूप में कार्य करता है।
- स्टेटमेंट का ब्लॉक कीवर्ड BEGIN से शुरू होना चाहिए और कीवर्ड END के साथ बंद होना चाहिए।
- IF… ELSE कथन में Else का उपयोग करना वैकल्पिक है
- SQL IF ELSE स्थिति को किसी अन्य IF…ELSE कथन में नेस्ट करना भी संभव है।










