5 Conditional Expressions

4.1 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;

 

4.2 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’);

License

Share This Book

Feedback/Errata

Leave a Reply

Your email address will not be published. Required fields are marked *