Conditional Expressions
Case Statement
Query-38
CASE என்பது ஒரு் column- ல் உள்ள வெவ்வேறு மதிப்புகளுக்கு வெவ்வேறு விதமான செயல்களைச் செய்யுமாறு ஆணைகளை அளிக்கப் பயன்படுகிறது . உதாரணத்துக்கு ஒரு் நிறுவனத்தில் development department- க்கு 50% சம்பள உயர்வும் , testing department- க்கு 30% சம்பள உயர்வும் , மற்றவர்களுக்கு 15% சம்பள உயர்வும் , அந்த நிறுவனம் அளிக்கிறது எனில் , ஒவ்வொருவருடைய புதிய சம்பளத்தையும் கண்டுபிடிப்பதற்கான query பின்வருமாறு அமையும் .
SELECT emp_name, department, salary, CASE
WHEN Department=’Testing’ THEN (salary+(salary*0.50))
WHEN Department=’Development’ THEN (salary+(salary*0.30))
ELSE (salary+(salary*0.15))
END AS ‘new salary’
FROM organisation;
Logical Operators
Query-39
இரண்டு தனித்தனி கட்டளைகளை ஒன்றாக இணைத்து அதனடிப்படையில் விவரங்களைப் பட்டியலிட logical operator பயன்படுகிறது . உதாரணத்துக்கு 2013- ஆம் ஆண்டு தேர்வு செய்யப்பட்டு , 15,000 ரூபாய்க்கு கீழ் சம்பளம் வாங்கும் நபர்களைப் பட்டியலிட AND என்ற logical operator- ஐப் பின்வருமாறு அமைக்கலாம் .
select * from organisation where year(joining_date) = 2013 and salary < 15000;
Query-40
அவ்வாறே 2013- ஆம் ஆண்டு தேர்வு செய்யப்பட்ட நபர் அல்லது 15,000 ரூபாய்க்கு கீழ் சம்பளம் வாங்கும் நபர் என்று கட்டளையை மாற்றி அமைக்க OR operator பயன்படுகிறது . இது பின்வருமாறு .
select * from organisation where year(joining_date) = 2013 or salary < 15000;
Query-41
Kothai, Ezhil, Porkodi – ஆகிய மூன்று நபர்களைத் தவிர மற்ற நபர்களைப் பட்டியலிட NOT IN operator பயன்படுகிறது .
select * from organisation where Emp_name not in (‘kothai’,’Ezhil’,’Porkodi’);
Query-42
இரண்டுக்கும் மேற்பட்ட கட்டளைகளை எவ்வாறு இணைப்பது என்று இதில் பார்ப்போம் . 2013- ஆம் ஆண்டு தேர்வு செய்யப்பட்ட நபர் அல்லது 15,000 ரூபாய்க்கு கீழ் சம்பளம் வாங்கும் நபர் என்பது முதல் இரண்டு கட்டளைகள் . பின்னர் அது தரும் result- ல் , kothai, ezhil, porkodi ஆகிய மூவரின் விவரங்களைத் தவிர்க்கவும் என்பது மூன்றாவது கட்டளை . இவற்றை இணைத்து பின்வருமாறு query- யை அமைக்கவும் .
select * from organisation where year(joining_date) = 2013 or salary<15000 and Emp_name not in (‘kothai’,’Ezhil’,’Porkodi’);
இது விடைகளைத் தவறாகப் பட்டியலிடுவதைக் காணலாம் . எனவே எந்த இரு கட்டளைகள் முதலில் ஒப்பிடப்பட வேண்டுமோ அதனை அடைப்புக்குறிக்குள் கொடுக்க வேண்டும் . பின்னர் மூன்றாவது கட்டளையை இணைக்க வேண்டும் இதுவே ‘Operator Precedence’ ஆகும் .
select * from organisation where (year(joining_date) = 2013 or salary<15000) and Emp_name not in (‘kothai’,’Ezhil’,’Porkodi’);
—-
து. நித்யா
இவர் cognizant நிறுவனத்தில் Data Warehouse Testing-ல் பணியாற்றி வருகிறார்.
மின்னஞ்சல் : nithyadurai87@gmail.com
வலை : nithyashrinivasan.wordpress.com