2.1 SQL का परिचय
यदि आपके पास डेटाबेस (डीबी) है, और इसमें कुछ डेटा वाला एक टेबल है, तो सबसे आम कार्य इस तालिका में कुछ डेटा ढूंढना है। SQL का आविष्कार 40 साल पहले इसी के लिए किया गया था।
SQL का मतलब स्ट्रक्चर्ड क्वेरी लैंग्वेज है ।
सबसे सरल SQL क्वेरी इस तरह दिखती है:
SELECT column1, column2, … columnN FROM table
मान लीजिए कि आपके पास अपने स्टार्टअप के कर्मचारियों की सूची के साथ एक कर्मचारी तालिका है:
पहचान | नाम | पेशा | वेतन | आयु | शामिल होने की तारीख |
---|---|---|---|---|---|
1 | इवानोव इवान | प्रोग्रामर | 100,000 | 25 | 2012-06-30 |
2 | पेट्रोव पेट्र | प्रोग्रामर | 80,000 | 23 | 2013-08-12 |
3 | इवानोव सर्गेई | टेस्टर | 40,000 | तीस | 2014-01-01 |
4 | राबिनोविच मोइशा | निदेशक | 200,000 | 35 | 2015-05-12 |
5 | किरिंको अनास्तासिया | कार्यालय प्रबंधक | 40,000 | 25 | 2015-10-10 |
6 | वास्का | बिल्ली | 1,000 | 3 | 2018-01-01 |
आप एक प्रश्न लिखना चाहते हैं जो employee names
उन्हें भी प्रदर्शित करेगा salaries
, तो आपको एक प्रश्न लिखने की आवश्यकता है:
SELECT name, salary FROM employee
आपको क्वेरी परिणाम मिलेगा:
नाम | वेतन |
---|---|
इवानोव इवान | 100,000 |
पेट्रोव पेट्र | 80,000 |
इवानोव सर्गेई | 40,000 |
राबिनोविच मोइशा | 200,000 |
किरिंको अनास्तासिया | 40,000 |
वास्का | 1,000 |
यदि आप अपनी तालिका के सभी स्तंभों को प्रदर्शित करना चाहते हैं, तो सभी स्तंभों के नामों को सूचीबद्ध करने के बजाय, आप बस एक तारांकन चिह्न लिख सकते हैं। उदाहरण:
SELECT * FROM employee
आपको क्वेरी परिणाम मिलेगा:
पहचान | नाम | पेशा | वेतन | आयु | शामिल होने की तारीख |
---|---|---|---|---|---|
1 | इवानोव इवान | प्रोग्रामर | 100,000 | 25 | 2012-06-30 |
2 | पेट्रोव पेट्र | प्रोग्रामर | 80,000 | 23 | 2013-08-12 |
3 | इवानोव सर्गेई | टेस्टर | 40,000 | तीस | 2014-01-01 |
4 | राबिनोविच मोइशा | निदेशक | 200,000 | 35 | 2015-05-12 |
5 | किरिंको अनास्तासिया | कार्यालय प्रबंधक | 40,000 | 25 | 2015-10-10 |
6 | वास्का | बिल्ली | 1,000 | 3 | 2018-01-01 |
2.2 SQL क्वेरी का उन्नत दृश्य
SQL भाषा को यथासंभव उपयोगकर्ता के अनुकूल बनाया गया था।
सबसे पहले, अनुरोध पाठ का मामला मायने नहीं रखता । आप SELECT, Select, या Select लिख सकते हैं और सब कुछ काम करेगा। दूसरे, लाइन ब्रेक पर किसी भी तरह से ध्यान नहीं दिया जाता है । DBMS अभी भी क्वेरी को एक लंबी स्ट्रिंग में बदल देगा, इसलिए आप इसे अपनी पसंद के अनुसार लिख सकते हैं।
जैसा कि आप शायद पहले ही अनुमान लगा चुके हैं, SELECT और FROM कीवर्ड सीमित नहीं हैं। अन्यथा एसक्यूएल के आसपास इतनी ज्यादा बात नहीं होती। SQL क्वेरी का विस्तारित दृश्य इस तरह दिखता है:
SELECT columns
FROM table
WHERE condition
GROUP BY columns
HAVING columns
ORDER BY sorting
किसी कीवर्ड की मदद से WHERE
आप चयनित पंक्तियों के लिए एक शर्त/फ़िल्टर सेट कर सकते हैं।
उदाहरण 1 । आइए एक प्रश्न लिखें जो "प्रोग्रामर" पेशे वाले कर्मचारियों का चयन करेगा:
SELECT * FROM employee WHERE occupation = 'Programmer'
और हमें निम्न क्वेरी परिणाम मिलता है:
पहचान | नाम | पेशा | वेतन | आयु | शामिल होने की तारीख |
---|---|---|---|---|---|
1 | इवानोव इवान | प्रोग्रामर | 100,000 | 25 | 2012-06-30 |
2 | पेट्रोव पेट्र | प्रोग्रामर | 80,000 | 23 | 2013-08-12 |
जैसा कि आप देख सकते हैं, क्वेरी निष्पादन के परिणामस्वरूप, केवल पंक्तियाँ प्रदर्शित होती हैं जहाँ कर्मचारी के पेशे को "प्रोग्रामर" कहा जाता है।
कीवर्ड GROUP BY
, ORDER BY
और HAVING
हम अगले व्याख्यानों में शामिल होंगे। और इसमें हम WHERE शब्द के साथ कुछ और उदाहरणों का विश्लेषण करेंगे।
उदाहरण 2 । अब एक प्रश्न लिखते हैं जो हमें 100K से अधिक वेतन वाले सभी कर्मचारियों को दिखाएगा। यहाँ यह कैसा दिखेगा:
SELECT * FROM employee WHERE salary > 100000
हमें निम्नलिखित क्वेरी परिणाम मिलते हैं:
पहचान | नाम | पेशा | वेतन | आयु | शामिल होने की तारीख |
---|---|---|---|---|---|
4 | राबिनोविच मोइशा | निदेशक | 200,000 | 35 | 2015-05-12 |
उदाहरण 3 । आइए अब कुछ और कठिन प्रयास करें। 2015 में काम पर रखे गए सभी कर्मचारियों को कैसे प्रदर्शित करें? और इस तरह:
SELECT * FROM employee WHERE YEAR(join_date) = 2015
हमें निम्नलिखित क्वेरी परिणाम मिलते हैं:
पहचान | नाम | पेशा | वेतन | आयु | शामिल होने की तारीख |
---|---|---|---|---|---|
4 | राबिनोविच मोइशा | निदेशक | 200,000 | 35 | 2015-05-12 |
5 | किरिंको अनास्तासिया | कार्यालय प्रबंधक | 40,000 | 25 | 2015-10-10 |
इस क्वेरी में, हम एक विशेष फ़ंक्शन का उपयोग करते हैं YEAR()
जो हमें वर्ष को किसी दिनांक से प्राप्त करने की अनुमति देता है और फिर दिनांक के वर्ष की संख्या 2015 से तुलना करता है।
SQL प्रश्नों में 2.3 टिप्पणियाँ
और एक और महत्वपूर्ण बिंदु SQL प्रश्नों में टिप्पणियाँ हैं। टिप्पणियाँ बहुत उपयोगी चीज हैं। सबसे पहले, आप उनमें स्पष्टीकरण और/या अपने विचार लिख सकते हैं। दूसरे, टिप्पणियों की सहायता से आप टूटे हुए कोड को अक्षम कर सकते हैं। या कोड के पुराने संस्करण पर टिप्पणी करें।
SQL, Java की तरह, एकल-पंक्ति और बहु-पंक्ति टिप्पणियाँ हैं। इसके अलावा, एक बहु-पंक्ति टिप्पणी जावा की तरह ही दिखती है। इसका स्वरूप:
/*
comment text
comment text
comment text
*/
बेशक, इसे एक लाइन में भी इस्तेमाल किया जा सकता है। उदाहरण:
/*comment text*/
जावा "//" के समान "शुरुआत से अंत तक" एक प्रकार की टिप्पणी भी है। केवल SQL में आपको दो ऋण वर्ण और एक स्थान लिखने की आवश्यकता होती है । ऐसी टिप्पणी का सामान्य दृष्टिकोण:
-- comment text
उदाहरण:
SELECT * FROM employee -- WHERE YEAR(join_date) = 2015
उपरोक्त उदाहरण में, हमने क्वेरी स्थिति पर टिप्पणी की, इसलिए MySQL केवल क्वेरी निष्पादित करेगा:
SELECT * FROM employee
2.4 एसक्यूएल उच्चारण
यदि आप विदेशी ग्राहकों के साथ संवाद करते हैं या किसी अमेरिकी कंपनी के लिए एक ऑनलाइन साक्षात्कार पास करते हैं, तो आपसे अगली कड़ी भाषा के साथ आपके अनुभव के बारे में पूछा जा सकता है । आप ईमानदारी से कहेंगे कि आपने उनके साथ काम नहीं किया और इंटरव्यू को तुरंत फ्लॉन्ट कर दिया।
और बात यह है कि SQL भाषा को मूल रूप से SEQUEL कहा जाता था, जिसे सीक्वल (ˈsēkwəl) की तरह उच्चारित किया जाता है, इसलिए बहुत बार यूएसए और अन्य अंग्रेजी-भाषा के स्रोतों में आप "एस्क्यूएल" नहीं, बल्कि "सीक्वल" सुनेंगे। SQL लिखा जाता है, और अगली कड़ी पढ़ी जाती है। यहाँ ऐसा ऐतिहासिक विरोधाभास है।
GO TO FULL VERSION