Advanced MySQL – வெவ்வேறு விதங்களில் தகவல்களை வெளிக் கொண்டு வருதல்

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

வலை : nithyashrinivasan.wordpress.com

%d bloggers like this: