Monday, June 11, 2018

எஸ்க்யூஎல் செலெக்ட் கமாண்ட்



செலெக்ட் கமாண்ட் என்பது டேட்டாபேசிஸிலிருந்து நமக்கு தேவையான தகவல்களை வேண்டியவாறு பெற உதவுகின்றது. செலக்ட் கமாண்டை வெவ்வேறான முறையில் பயன்படுத்தலாம்.
சிண்டாக்ஸ்:
SELECT <column name>[,<column name>,…]
From <table name>;
உதாரணமாக ஒரு டேபிளிலிருந்து empno, empname மட்டும் பெற விரும்பினால் கீழ் கண்டவாறு குவரி எழுதலாம்.
select empno, empname from emp;
இதில் emp என்பது டேபிள் பெயர். Empno, empname என்பது காலம்ன் பெயர்.
EMPNO
EMPNAME
101
Ram
102
Ganesh
103
Murugan

இப்பொழுது உங்களுக்கு வேண்டிய தகவல் empno, job, salary எனில் கீழ்கண்டவாறு க்வரி எழுதலாம்.
Select empno, job, salary from emp;
இதன் வரிசையை மாற்றிக் கூட நாம்ம் குவரி எழுதலாம்.
Select job, empno, salary from emp;
எல்லா காலம்னிலுருந்து தகவல்களை பெற விரும்பினால் கீழ்கணடவாறு குவரி எழுதலாம்.
select * from emp;
இரட்டைத் தகவல்களை தவிர்ப்பதற்கு:
இயல்பாக செலக்ட் கமாண்ட் எழுதும் போது எல்லா ரோவிலிருந்தும் தகவல் திரட்டப்பட்டு காண்பிக்கப்படும். அப்பொழுது டூப்ளிகேட் தகவகளும் இடம் பெறும்.
உதாரணமாக
Select city from suppliers
என்று குவரி எழுதினால் ஒரே சிட்டியின் பெயர் இரண்டு முறை இடம் பெற்றால் இரண்டு முறை காண்பிக்கப்படும் அதை தவிர்ப்பதற்கு இவ்வாறு குவரி எழுதலாம்.
Select distinct city from suppliers.
இப்பொழுது ஒரு சிட்டியின் பெயர் எத்தனை முறை இடம் பெற்றாலும் ஒரு முறை தான் காண்பிக்கப்படும்.
இதில் ALL கீவேர்டு டூப்ளி தகவல்களும் சேர்ந்து இடம் பெற பயன்படுகின்றது.
உதாரணமாக
Select ALL city from suppliers;
இப்பொழுது டூப்ளிகேட் தகவல்களும் சேர்ந்து வெளிப்படும்
.where உபயோகம்.
where மூலம் நாம் எந்தெந்த ரோவிலிருந்து டேட்டாவைப் பெற வேண்டும் என்பதை ஃபில்டர் செய்யலாம்.
அதாவது where மூலம் நாம் எந்தெந்த ரோக்களை வெளிப்படுத்த வேண்டும் என்பதற்கான நிபந்தனையை விதிக்கலாம்.
சிண்டாக்ஸ்:
SELECT <column name>[,<column name>,…]
From <table name> where <condition>
உதாரணமாக
Select empno, empname from emp where salary >20000;
மேலே உள்ள குவரியில் சாலரி 20000 க்கும் மேற்பட்டு வாங்குவோர் மட்டும் பட்டியிலப்படுவார்கள்
ரிலேசனல் ஆபரேட்டர்கள் .
இரண்டு மதிப்புகளை ஒப்பிட்டு பார்ப்பதற்கு கீழ்கண்ட ஆபரேட்டர்கள் பயன்படுகின்றன.
= equal to
< lessthan
<= less than or equal to
>greater than
>= greater  than or equal to
<> not equal to
உதாரணம்:
Select * from emp where salary <> 10000.
மேலே உள்ள குவரியின் வெளியீட்டாக யார் யாரெல்லாம் 10000 சம்பளம் பெறவில்லையோ அவர்களெல்லாம் பட்டியலிடப் படுவார்கள்.
லாஜிக்கல் ஆபரேட்டர்கள்:
ஒன்றுக்கும் மேற்பட்ட நிபந்தனைகளை ஒன்றாக்கி கட்டளையிட லாஜிக்கல் ஆபரட்டர்கள் பயன் படுகின்றன.
அவையாவன
AND
OR
NOT
இதில்  AND என்பது இரண்டு நிபந்தனைகளுக்கும் சரியெனெ இருக்கும் ரோக்கள் மட்டும் இடம் பெறும்,
உதாரணமாக.
SELECT * FROM EMP WHERE SALARY >10000 AND SALARY <20000.
மேலே உள்ள குவரியில் சம்பளமானது 10000 க்கு மேற்பட்டிருக்க வேண்டும் அல்லது 20000 க்கு கீழ் பட்டிருக்க வேண்டும்.
OR ஆபரேட்டர் ஆனது இரண்டு நிபந்தனைகளில் குறைந்த பட்சம் ஒரு நிபந்தனையாவது சரியாக இருக்க வேண்டும்
உதாரணமாக
SELECT * FROM SUPPLIER WHERE CITY=’MUMBAI’ OR CITY=’KOLKATTA’;
மேலே உள்ள குவரியில் இரண்டில் ஒன்றுக்காவ சரியெண்று இருக்குமோ அது பட்டியிலடப்படும்.
NOT ஆபரேட்டர் குறிப்பிட்ட நிபந்த்தனைக்கு உட்படாத ரோக்களை வெளியீடு செய்யும்.
உதாரணமாக
SELECT * FROM SUPPLIERS WHERE (NOT CITY=’MUMBAI’);
மேலே உள்ள  குவரியில் மும்பையல்லாத ரோக்கள் பட்டியிலிடப்படும்.
குறிப்பிட்ட வரையறைக்குள் இடம்பெறும் டேட்டாக்கள்:
BETWEEN ஆபரேட்டர் குறிப்பிட்ட வரையறைக்குள் இருக்கும் டேட்டாவை வெளிடப் பயன்படுகின்றது.
உதாரணமாக
SELECT * FROM EMP WHERE SALARY BETWEEN 10000 AND 20000;
மேலே உள்ள குவரியின் வெளியீட்டாக யாரெல்லாம் 10000 க்கு மற்றும் 20000 கும் இடையே சம்பளம் பெறுகின்றார்களோ அவர்கள் பட்டியிடப்படுவார்கள்.
NOT BETWEEN ஆபரேட்டர் ஆனது ஒரு குறிப்பிட்ட வரையறைக்குள் இல்லாத டேட்டாக்களை பட்டியலிடப் பயன்படுகின்றது..
உதாரணமாக
Select * from emp where salary not between 10000 and 20000;
லிஸ்ட் அடிப்படையிலான குவரி
இதில் IN ஆபரேட்டர் ஆனது ஒரு குறிப்பிட்ட லிஸ்டிற்க்குல் இருக்கும் டேட்டாக்களை பட்டியலிடப் பயன்படுகின்றது.

உதாரணமாக
Select * from suppliers where city in(‘delhi’,’mumbai’,’chennai’);
இதில் not in ஆபரேட்டர் ஆனது ஒரு குறிப்பிட்ட லிஸ்டில் அல்லாத டேட்டாக்களை பெற பயன்படுகின்றது.
உதாரணமாக
Select * from suppliers where city not in(‘delhi’,’mumbai’,’chennai’);
பேட்டர்ன் அடிப்படையிலான நிபந்தனைகள்;
%-ஏதாவது சப்ஸ்ட்ரிங்க்
Underscore(_)- ஏதாவது  ஒரு கேரக்டர்
உதாரணமாகs
“San%” என்பது san –ல் ஆரம்பிக்கும் எந்த ஸ்ட்ரிங்க் ஆகவும் இருக்கலாம்
“____” என்பது நான்கு கேரக்டர் லெங்க்த் இருக்கும் எந்த் ஸ்ட்ரிங்க் ஆகவும் இருக்கலாம்.
உதாரணமாக
Select city from supplier where pin like ‘13%’;
மேலே உள்ள குவரி ஆனது பின் 13-ல் ஆரம்பிக்கும் எல்லா சிட்டியையும் பட்டியலிடும்.

Is null ஆபரேட்டர்:
நாம் ஒரு டேபிளில் ஏதாவது ஒரு ஃபீல்டுக்கு மதிப்பி தெரியாவிட்டால் எம்ப்ட்டியாக விட்டு விடுவோம். அந்த தகவல்களை காண்பிப்பதற்கே is null ஆபரேட்டர் பயன்படுகின்றது.
உதாரணமாக
SELECT * FROM SUPPPLIER WHERE CITY IS NULL.
டேட்டாகளை சார்ட் செய்தல்.
நாம் பட்டியலிடும் டேட்டாவை ஏதாவது ஒரு காலம்னின் டேட்டாவை ஏறுவரிசை அல்லது இறங்கு வரிசைப்படி பட்டியலிடப் ORDER BY பயன்படிகின்றது.
உதாரணமக
SELECT * FROM EMP WHERE ORDER BY EMPNAME;
EMPNO
EMPNAME
102
Ganesh
103
Murugan
101
Ravi
டேட்டாவை இறங்கு வரிசைப் படி பட்டியலிட desc பயன்படிகின்றது.
உதாரணமாக
select * from emp order by ename desc;
EMPNO
EMPNAME
101
Ram
103
Murugan
102
Ganesh

சிறிய கணக்கீடுகள் செய்தல்.
நாம் ஆரக்கிளில் DUAL என்னும் டம்மி டேபிளின் அடிப்ப்டையில் சிறிய கணக்கீடுகளைச் செய்யலாம்
உதாரணமாக
SELECT 5*2 FROM DUAL;
வெளியீடு:
5*2
---
10
சிஸ்டம் தேதியினை பின் கண்ட முறையில் பெறலாம்.
SELECT SYSDATE FROM DUAL
வெளியீடு:
SYSDATE
----
17-MAY-2018

அக்ரிகேட் ஃபங்க்சன்ஸ்:
ஒரு குறிப்பிட்ட காலம்ன்களின் டேட்டாக்களை MANIPULATE செய்ய அக்ரிகேட் ஃபங்க்சன்கள் பயன்படுகின்றது
1.SUM
ஒரு காலம்னின் மொத்த மதிப்பை கணக்கிட SUM பயன்படுகின்றது.
சான்று:
SELECT SUM(SALARY) FROM EMP WHERE GRADE=’E2’;
2. AVG
ஒரு காலம்னின் சராசரி மதிப்பை கணக்கீடு செய்வதற்கு AVG பயன்படுகின்றது.
SELECT AVG(SALARY) FROM EMP WHERE SALARY>20000;
3. COUNT என்பது ரோக்களை எண்ணப் பயன்படுகின்றது.
SELECT COUNT(*) FROM EMPLOYEE;
GROUP செய்தல்
ஒரு வெளியீட்டை காலம்ன் பெயரின் அடிப்படையிலோ அல்லது அக்ரிகேட் ஃபங்க்சன் அடிப்படையிலோ க்ரூப் செய்யலாம்.
உதாரணம்.
SELECT AVG(SALARY) FROM EMP GROUP BY JOB.
-முத்து கார்த்திகேயன், மதுரை.
ads Udanz

No comments:

Post a Comment