Advanced MySQL – Conditional Expressions & Logical Operators

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

 

Leave a Reply

%d bloggers like this: