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 लिखा जाता है, और अगली कड़ी पढ़ी जाती है। यहाँ ऐसा ऐतिहासिक विरोधाभास है।