MySQL- ன் முதலாம் பாகத்தில் database மற்றும் tables- ஐ எவ்வாறு உருவாக்குவது , அதனை எவ்வாறு பயன்படுத்துவது என்பது போன்ற அடிப்படையான விஷயங்களைப் பற்றிப் பார்த்தோம் . இந்தப் புத்தகத்தில் பல்வேறு வகையான queries- ஐப் பயன்படுத்தி வெவ்வேறு விதங்களில் தகவல்களை எவ்வாறு வெளிக் கொண்டு வருவது என்பது பற்றிப் பார்க்கப் போகிறோம் .
Retrival of Data
ஒரு database- ல் columns- ஐத் தேர்ந்தெடுக்கும் போது என்ன நிகழ்கிறது , rows- ஐத் தேர்ந்தெடுக்கும்போது என்ன நிகழ்கிறது என்பதைப் பின்வரும் படத்தின் மூலம் தெளிவாகப் புரிந்து கொள்ளலாம் .
Basic select statement
Query-1
ஒரு table- ல் உள்ள அனைத்து columns- ன் தகவல்களும் வெளிப்பட வேண்டுமெனில் பின்வரும் query- ஐப் பயன்படுத்தலாம் .
select * from department;
;
Query-2
ஒருசில குறிப்பிட்ட columns- ன் தகவல்கள் வெளிப்பட வேண்டுமெனில் , select- ஐத் தொடர்ந்து அத்தகைய columns- ன் பெயர்களைக் குறிப்பிட வேண்டும் .
select dept_name,location from department;
Query-3
select- ஐத் தொடர்ந்து கொடுக்கப்படும் columns, முன்னும் பின்னுமாகக் கூட இருக்கலாம் .
select location,dept_name from department;
Arithmetic Expressions
கூட்டல் , கழித்தல் , பெருக்கல் , வகுத்தல் ஆகிய நான்குமே arithmetic operators எனப்படுகின்றன . இவற்றைப் பயன்படுத்தி நாம் தகவல்களை நமக்கு விரும்பிய வடிவில் பெறலாம் . இதனைப் பின்வரும் உதாரணத்தில் பார்க்கலாம் .
Query-4
ஒரு நிறுவனத்தில் உள்ள அனைத்து ஊழியர்களுக்கும் , அவர்களின் தற்போதைய சம்பளத்துடன் 2475 ரூபாய் உயர்த்திக் கொடுக்க உத்தரவு வருகிறதெனில் , ஒவ்வொருவருடைய புதிய சம்பளத்தையும் கணிக்க கூட்டல் எனும் arithmetic operator- ஐப் பயன்படுத்தலாம் .
select name,salary,salary+2475 from employees;
இதில் name மற்றும் salary என்பது ஏற்கனவே அந்த tables- ல் உள்ள columns ஆகும் . ஆனால் salary+2475 என்பது அந்த table- ல் இல்லாத , நமது தேவைக்காக நாம் உருவாக்கிய ஒரு புதிய column.
Query-5
Arithmetic operations- ஐ ஒரு column- ல் உள்ள மதிப்புகளின் மீது செலுத்தி , ஒரு புதிய column- ஐ நாம் உருவாக்கும்போது , ‘Operator Precedence’ எனும் ஒரு் முக்கியமான விஷயத்தை நினைவில் கொள்ள வேண்டும் . உதாரணத்துக்கு சென்ற Query- ல் , நாம் கண்டுபிடித்த ஒவ்வொருவரின் புதிய மாத சம்பளத்தையும் வருடத்திற்குக் கணக்கிட அதனை 12- ஆல் பெருக்கினால் போதுமானது . எனவே query- ஐப் பின்வருமாறு அமைப்போம் .
select name,salary,12*salary+2475 from employees;
இதில் ஒவ்வொருவருடைய தற்போதைய சம்பளமும் 12- ஆல் பெருக்கப்பட்டு , பின்னர் அதனுடன் 2475 ரூபாய் கூட்டப்படுகிறது . அதாவது கூட்டல் கணக்கு நடைபெற்று , புதிய சம்பளம் கண்டுபிடிப்பதற்கு முன்னரே , பெருக்கல் கணக்கு நடைபெற்றுவிடுகிறது . இதுவே ‘Operator Precedence’ ஆகும் . இதனைத் தவிர்ப்பதற்கு நாம் அடைப்புக்குறியைப் பயன்படுத்தலாம் . அதாவது எந்தக் கணக்கு முதலில் நடைபெற வேண்டுமோ அதனை அடைப்புக்குறிக்குள் கொடுக்க வேண்டும் . இது பின்வருமாறு .
select name,salary,12*(salary+2475) from employees;
Null Values
Query-6
பின்வரும் query- ல் commission_pct எனும் column ஒவ்வொருவருக்கும் எவ்வளவு சதவீதம் commission கிடைக்கிறது எனும் மதிப்பினைப் பெற்றுள்ளது . இதில் ஒருசில நபர்களுக்கு Null எனும் மதிப்பு உள்ளது . இத்தகைய Null எனும் மதிப்பினைப் பெற்றவர்களுக்கு commission பூஜ்ஜியம் என்றோ அல்லது எதுவும் கிடையாது என்றோ அர்த்தம் இல்லை . அவர்களுக்கு இன்னும் commission வரையறுக்கப்படவில்லை என்றே அர்த்தம் .
select name,role,salary,commission_pct from employees;
Query-7
Null மதிப்பினைப் பெற்றுள்ள column- ன் மீது arithmetic operations- ஐ செலுத்தி உருவாக்கப்படும் புதிய column- ம் Null மதிப்பினையே பெற்றிருக்கும் .
select name,salary,commission_pct,12*salary*commission_pct from employees;
Null functions
Query-8
ஒரு column, ‘NULL’ மதிப்பினை வெளிப்படுத்துவதற்கு பதிலாக வேறு ஏதேனும் மதிப்பினை வெளிப்படுத்துமாறு செய்ய IFNULL function- ஐப் பயன்படுத்தலாம் .
select name, salary, ifnull(commission_pct,5), 12*salary*ifnull(commission_pct,5) from employees;
இதில் commission_pct என்பது null மதிப்பினைப் பெற்றிருப்பின் , அதனை 5 எனக் கொள்ளுமாறு அமைத்துள்ளது .
Query-9
NULLIF என்பது இரண்டு மதிப்புகளை ஒப்பிட்டு அவை சமமாக இருந்தாலோ அல்லது ஏதேனும் ஒரு் மதிப்பு null- ஆக இருந்தாலோ NULL மதிப்பினை வெளிப்படுத்துகிறது .
select emp_id,year1,year2,nullif(year1,year2) from performance;
Query-10
COALESCE மூலம் ஒன்றன்பின் ஒன்றாக நிறைய மதிப்புகளைக் குறிப்பிட்டு , முதல் மதிப்பு null- ஆக இருந்தால் இரண்டாவது மதிப்பினையும் , இரண்டாவதும் null- ஆக இருந்தால் மூன்றாவது மதிப்பினையும் , அதுவும் null- ஆக இருப்பின் அதற்கு அடுத்தடுத்த மதிப்புகளையும் வெளிப்படுத்துமாறு செய்யலாம் .
select emp_id,year1,year2,year3,coalesce(year1,year2,year3) from performance;
Column aliases
Query-11
நாம் உருவாக்கும் புதிய column- க்கு ஒரு பெயர் வைக்க விரும்பினால் column alias- ஐப் பயன்படுத்தலாம் . உதாரணத்துக்கு salary+2475 என்று நாம் உருவாக்கிய புதிய column- க்கு ‘New Salary’ என்று பெயர் வைக்க விரும்பினால் , அது பின்வருமாறு .
select name,salary,salary+2475 as ‘new salary’ from employees;
Query-12
சென்ற quey- ல் new salary எனும் alias name இரண்டு பெயராக உள்ளதால் , அது double quotes- க்குள் கொடுக்கப்பட்டுள்ளது . இங்கு ஒரே ஒரு பெயர் alias பெயராக உள்ளத்தால் , அது double quotes இல்லாமல் கொடுக்கப்படுவதை கவனிக்கவும் . அவ்வாறே as எனும் keyword, optional ஆகும் . எனவே அது இல்லாமலேயே ஒரு் column- க்கு பெயர் வைக்கப்பட்டிருப்பதையும் கவனிக்கவும் .
select commission_pct as comm, salary sal from employees;
—
து. நித்யா
இவர் cognizant நிறுவனத்தில் Data Warehouse Testing-ல் பணியாற்றி வருகிறார்.
மின்னஞ்சல் : nithyadurai87@gmail.com