WHERE क्लॉज और स्थिति के बीच परिचय
संरचित क्वेरी भाषा (एसक्यूएल) डेटाबेस उपयोगकर्ताओं को डेटाबेस से जानकारी निकालने के लिए अनुकूलित क्वेरी बनाने की क्षमता प्रदान करती है। पहले के लेख में, हमने SQL SELECT क्वेरी का उपयोग कर डेटाबेस से जानकारी निकालने की खोज की थी। आइए उस चर्चा पर विस्तार करें और पता लगाएं कि आप विशिष्ट स्थितियों से मेल खाने वाले डेटा को पुनर्प्राप्त करने के लिए उन्नत क्वेरी कैसे कर सकते हैं।
आइए आमतौर पर इस्तेमाल किए गए नॉर्थविंड डेटाबेस के आधार पर एक उदाहरण पर विचार करें, जो अक्सर ट्यूटोरियल के रूप में डेटाबेस उत्पादों के साथ जहाजों को भेजता है।
डेटाबेस की उत्पाद तालिका से यहां एक अंश दिया गया है:
उत्पाद आइ डि | उत्पाद का नाम | आपूर्तिकर्ता आईडी | प्रति इकाई मात्रा | यूनिट मूल्य | स्टॉक में इकाइयाँ |
---|---|---|---|---|---|
1 | चाय | 1 | 10 बक्से एक्स 20 बैग | 18.00 | 39 |
2 | चांग | 1 | 24 - 12 औंस की बोतलें | 19.00 | 17 |
3 | Aniseed सिरप | 1 | 12 - 550 मिलीलीटर की बोतलें | 10.00 | 13 |
4 | शेफ एंटोन के कजुन मसाला | 2 | 48 - 6 औंस जार | 22.00 | 53 |
5 | शेफ एंटोन के गम्बो मिक्स | 2 | 36 बक्से | 21.35 | 0 |
6 | दादी की लड़केबेरी फैल गई | 3 | 12 - 8 औंस जार | 25.00 | 120 |
7 | चाचा बॉब के कार्बनिक सूखे नाशपाती | 3 | 12 - 1 एलबी पीकेजीएस। | 30.00 | 15 |
सरल सीमा शर्तें
हमारे प्रश्नों पर हम जो पहले प्रतिबंध लगाएंगे, उनमें सरल सीमाएं शामिल हैं। हम मानक ऑपरेटरों के साथ निर्मित सरल स्थिति विवरणों का उपयोग करके, SELECT क्वेरी के WHERE खंड में इन्हें निर्दिष्ट कर सकते हैं, जैसे <,>,> =, और <=।
सबसे पहले, आइए एक साधारण क्वेरी आज़माएं जो हमें डेटाबेस में सभी उत्पादों की एक सूची निकालने की अनुमति देती है जिनके पास 20.00 से अधिक का यूनिटप्रिस है:
यह चार उत्पादों की एक सूची तैयार करता है, जैसा कि नीचे दिखाया गया है:
ProductName UnitPrice ------- -------- शेफ एंटोन का गम्बो मिक्स 21.35 शेफ एंटोन का कजुन मसाला 22.00 दादी की बॉयज़ेनबेरी फैल 25.00 अंकल बॉब के कार्बनिक सूखे नाशपाती 30.00हम स्ट्रिंग मानों के साथ WHERE क्लॉज का भी उपयोग कर सकते हैं। यह मूल रूप से अक्षरों को संख्याओं के बराबर समझाता है, ए मूल्य 1 और जेड का प्रतिनिधित्व करता है जो मान 26 का प्रतिनिधित्व करता है। उदाहरण के लिए, हम निम्नलिखित प्रश्नों के साथ यू, वी, डब्ल्यू, एक्स, वाई या जेड से शुरू होने वाले नामों के साथ सभी उत्पादों को दिखा सकते हैं:
उत्पाद नाम से उत्पाद नाम चुनें जहां उत्पाद नाम> = 'टी'जो परिणाम उत्पन्न करता है:
उत्पाद नाम ------- अंकल बॉब के कार्बनिक सूखे नाशपातीसीमाओं का उपयोग कर रेंज व्यक्त करना
WHERE क्लॉज हमें कई स्थितियों का उपयोग करके मूल्य पर एक रेंज शर्त लागू करने की अनुमति देता है। उदाहरण के लिए, यदि हम उपरोक्त हमारी क्वेरी लेना चाहते हैं और परिणामों को 15.00 और 20.00 के बीच कीमतों के साथ सीमित करना चाहते हैं, तो हम निम्नलिखित क्वेरी का उपयोग कर सकते हैं:
उत्पाद नाम चुनें, उत्पादों से यूनिटप्रिस जहां यूनिटप्रिस> 15.00 और यूनिटप्रिस <20.00यह नीचे दिखाया गया परिणाम उत्पन्न करता है:
ProductName UnitPrice ------- -------- चाई 18.00 चांग 19.00बीच के साथ रेंज व्यक्त करना
एसक्यूएल सिंटैक्स के बीच एक शॉर्टकट भी प्रदान करता है जो उन स्थितियों की संख्या को कम करता है जिन्हें हमें शामिल करने की आवश्यकता होती है और क्वेरी को और अधिक पठनीय बनाता है। उदाहरण के लिए, उपरोक्त दो WHERE शर्तों का उपयोग करने के बजाय, हम वही क्वेरी व्यक्त कर सकते हैं:
उत्पाद नाम चुनें, उत्पादों से यूनिटप्रिस जहां यूनिटप्रिस 15.00 और 20.00 के बीचहमारे अन्य हालत खंडों के साथ ही, स्ट्रिंग मानों के साथ भी काम करता है। अगर हम वी, डब्ल्यू या एक्स से शुरू होने वाले सभी देशों की एक सूची तैयार करना चाहते हैं, तो हम क्वेरी का उपयोग कर सकते हैं:
उत्पादों से उत्पाद नाम चुनें जहां "ए" और "डी" के बीच उत्पाद नामजो परिणाम उत्पन्न करता है:
ProductName ------- Aniseed सिरप चाई चांग शेफ एंटोन के गम्बो मिक्स शेफ एंटोन के Cajun मसालाWHERE क्लॉज SQL भाषा का एक शक्तिशाली हिस्सा है जो आपको निर्दिष्ट श्रेणियों के भीतर आने वाले मानों तक परिणामों को प्रतिबंधित करने की अनुमति देता है। यह आमतौर पर व्यापार तर्क व्यक्त करने में मदद करने के लिए प्रयोग किया जाता है और प्रत्येक डेटाबेस पेशेवर टूलकिट का हिस्सा होना चाहिए।
SQL संग्रह के बिना उन लोगों तक पहुंच योग्य बनाने के लिए संग्रहीत प्रक्रिया में सामान्य खंडों को शामिल करना अक्सर सहायक होता है।