MySQL SQL Expressions & Functions
Introduction to SQL Expressions
SQL expressions किसी भी स्टेटमेंट में वो part होते है जो values को आपस में compare करते है। Expressions arithmetic calculation भी perform करते है।
MySQL में expressions अधिकतर WHERE clause के साथ यूज़ होते है। Statement execute होने पर इस expression के base पर सभी rows को compare किया जाता है।
उदाहरण के लिए निचे दिए गए statement को देखिये।
mysql > select Name from Employee where Id=101;
ऊपर दिए गए statement में Id=101 expression define किया गया है। इस statement के execute होने पर Employee table की सभी rows Id column की इस 101 value के लिए compare की जाती है। Expression के true होने पर result show हो जाता है।
कोई भी expression 3 elements से मिलकर बना होता है।
- Variable – MySQL के संदर्भ में variable किसी column का नाम होता है।
- Value – ये columns की values होती है।
- Operator – सभी प्रकार के operators जैसे की arithmetic, boolean, logical, relational आदि।
आइये अब विभिन्न प्रकार के expressions के बारे में जानने का प्रयास करते है।
SQL Numeric Expressions
Numeric expressions के द्वारा mathematical calculations perform की जाती है। इस प्रकार के expressions result में कई rows के बजाय सिर्फ एक value produce करते है।
Numeric expressions में आप चाहे तो पूरी तरह numerical values भी define कर सकते है। ये किसी calculator को यूज़ करने जैसा है। इसके लिए आप SELECT statement यूज़ करते है। इसका उदाहरण निचे दिया जा रहा है।
mysql > select 2+2;
ऊपर दिए गए statement के evaluate होने पर इसका result 4 show होगा।
Numeric expressions में यूज़ करने के लिए MySQL आपको 3 built in functions provide करती है। इन functions के बारे में निचे दिया जा रहा है।
SUM( )
ये function किसी भी column की सभी values का sum return करता है। ये function सिर्फ numerical values के columns पर ही apply होता है। इस function में argument के रूप में column का नाम pass किया जाता है। इसका उदाहरण निचे दिया जा रहा है।
मान लीजिये आप ये देखना चाहते है की हर month employees की salary में कितना पैसा खर्च होता है। इसके लिए आपको Salary column की सभी rows का sum करना होगा। ये काम आप SUM( ) function के साथ आसानी से इस प्रकार कर सकते है।
mysql > select sum(Salary) from Employee;
ऊपर दिया गया statement execute होने पर Salary column की सभी values का sum return करता है।
AVG( )
ये function किसी भी column की सभी values का average return करता है। उदाहरण के लिए यदि आप average salary पता करना चाहते है तो इस प्रकार कर सकते है।
mysql > select avg(Salary) from Employee;
ऊपर दिया गया statement execute होने पर salary column से average salary return करता है।
COUNT( )
यदि आप पता करना चाहते है की किसी table में कितनी rows है तो आप COUNT( ) function यूज़ कर सकते है। ये function table की सभी rows का count return करता है। इसका उदाहरण निचे दिया जा रहा है।
mysql > select count(*) from Employee;
ऊपर दिया गया statement Employee table की सभी rows का count return करता है।
SQL String Expressions
Strings को भी आप expressions में यूज़ करते है। किसी भी expression में strings को quotes में लिखा जाता है। उदाहरण के लिए यदि आप किसी employee की salary show करना चाहते है तो इसके लिए आप उसका नाम जो की एक string है इस प्रकार यूज़ कर सकते है।
mysql > select Salary from Employee where Name=”John”;
ऊपर दिए गए उदाहरण में string expression के माध्यम से table से data fetch किया जा रहा है।
CONCAT( )
MySQL द्वारा आपको CONCAT( ) function भी provide किया जाता है। इस function के द्वारा आप 2 strings को concat कर सकते है और result में single string show कर सकते है। इसका उदाहरण निचे दिया जा रहा है।
mysql > select concat(‘My’,’SQL’);
ऊपर दिए गए statement के execute होने पर दो अलग अलग strings My और SQL एक complete string के रूप में show होंगे।
LIKE clause
MySQL आपको एक बहुत interesting clause provide करती है जिसे LIKE clause कहा जाता है। LIKE clause के माध्यम से आप किसी string के match से results show करवा सकते है। LIKE clause का general syntax इस प्रकार होता है।
mysql > <SELECT statement> LIKE sting-to-match with %
LIKE clause के साथ % एक option होता है जो pattern match करने के लिए यूज़ किया जाता है। इसे आप 3 प्रकार से यूज़ कर सकते है।
After string
जब भी आप % को string के बाद लगाते है तो result में आपको वही rows show होती है जो दी गयी string से start होती है। उदाहरण के लिए यदि आप Employee table में से उन नामों को show करना चाहते है जो A से start होते है। ऐसा आप LIKE clause की मदद से इस प्रकार कर सकते है।
mysql > select Name from Employee where Name like ‘a%’;
उपर दिया गया statement execute होने पर Employee table से वही नाम show करता है जो a से शुरू हो रहे हो।
Before String
जब आप % को string से पहले लगाते है तो वही results show होते है जो दी गयी string के साथ end होते है। इसका उदाहरण नीचे दिया जा रहा है।
mysql > select Name from Employee where Name like ‘%sharma’;
उपर दिया गया statement execute होने पर Employee table से सिर्फ उन नामों को show करता है जो sharma string के साथ end हो रहे है।
Both Sides
जब आप % को string के दोनों तरफ define करते है तो दी string को column की string के बीच से match होने पर results show होते है। इसका उदाहरण नीचे दिया जा रहा है।
mysql > select Name from Employee where Name like ‘kumar’;
उपर दिए गए statement के execute होने पर Employee table से वे नाम show होते है जिनमें बीच में kumar हो।