2.1 SQL அறிமுகம்
உங்களிடம் ஒரு தரவுத்தளம் (டிபி) இருந்தால், அதில் - சில தரவுகளுடன் ஒரு அட்டவணை இருந்தால், இந்த அட்டவணையில் குறிப்பிட்ட தரவைக் கண்டுபிடிப்பதே மிகவும் பொதுவான பணி. SQL 40 ஆண்டுகளுக்கு முன்பு கண்டுபிடிக்கப்பட்டது தான்.
SQL என்பது கட்டமைக்கப்பட்ட வினவல் மொழியைக் குறிக்கிறது .
எளிமையான SQL வினவல் இதுபோல் தெரிகிறது:
SELECT column1, column2, … columnN FROM table
உங்கள் ஸ்டார்ட்அப் ஊழியர்களின் பட்டியலைக் கொண்ட பணியாளர் அட்டவணை உங்களிடம் உள்ளது என்று வைத்துக்கொள்வோம் :
ஐடி | பெயர் | தொழில் | சம்பளம் | வயது | சேரும் நாள் |
---|---|---|---|---|---|
1 | இவனோவ் இவான் | புரோகிராமர் | 100,000 | 25 | 2012-06-30 |
2 | பெட்ரோவ் பெட்ர் | புரோகிராமர் | 80,000 | 23 | 2013-08-12 |
3 | இவனோவ் செர்ஜி | சோதனையாளர் | 40,000 | முப்பது | 2014-01-01 |
4 | ரபினோவிச் மொய்ஷா | இயக்குனர் | 200,000 | 35 | 2015-05-12 |
5 | கிரியென்கோ அனஸ்தேசியா | அலுவலக மேலாளர் | 40,000 | 25 | 2015-10-10 |
6 | வாஸ்கா | பூனை | 1,000 | 3 | 2018-01-01 |
நீங்கள் ஒரு வினவலை எழுத விரும்புகிறீர்கள், அது employee names
அவற்றையும் காண்பிக்கும் salaries
, பின்னர் நீங்கள் வினவலை எழுத வேண்டும்:
SELECT name, salary FROM employee
வினவல் முடிவைப் பெறுவீர்கள்:
பெயர் | சம்பளம் |
---|---|
இவனோவ் இவான் | 100,000 |
பெட்ரோவ் பெட்ர் | 80,000 |
இவனோவ் செர்ஜி | 40,000 |
ரபினோவிச் மொய்ஷா | 200,000 |
கிரியென்கோ அனஸ்தேசியா | 40,000 |
வாஸ்கா | 1,000 |
உங்கள் அட்டவணையின் அனைத்து நெடுவரிசைகளையும் காட்ட விரும்பினால் , எல்லா நெடுவரிசைகளின் பெயர்களையும் பட்டியலிடுவதற்குப் பதிலாக, நீங்கள் ஒரு நட்சத்திரத்தை எழுதலாம். உதாரணமாக:
SELECT * FROM employee
வினவல் முடிவைப் பெறுவீர்கள்:
ஐடி | பெயர் | தொழில் | சம்பளம் | வயது | சேரும் நாள் |
---|---|---|---|---|---|
1 | இவனோவ் இவான் | புரோகிராமர் | 100,000 | 25 | 2012-06-30 |
2 | பெட்ரோவ் பெட்ர் | புரோகிராமர் | 80,000 | 23 | 2013-08-12 |
3 | இவனோவ் செர்ஜி | சோதனையாளர் | 40,000 | முப்பது | 2014-01-01 |
4 | ரபினோவிச் மொய்ஷா | இயக்குனர் | 200,000 | 35 | 2015-05-12 |
5 | கிரியென்கோ அனஸ்தேசியா | அலுவலக மேலாளர் | 40,000 | 25 | 2015-10-10 |
6 | வாஸ்கா | பூனை | 1,000 | 3 | 2018-01-01 |
2.2 SQL வினவலின் மேம்பட்ட பார்வை
SQL மொழி முடிந்தவரை பயனர் நட்புடன் வடிவமைக்கப்பட்டுள்ளது.
முதலில், கோரிக்கை உரையின் வழக்கு ஒரு பொருட்டல்ல . நீங்கள் SELECT, Select அல்லது Select என்று எழுதலாம் மற்றும் அனைத்தும் வேலை செய்யும். இரண்டாவதாக, வரி முறிவுகள் எந்த வகையிலும் கணக்கில் எடுத்துக்கொள்ளப்படுவதில்லை . DBMS இன்னும் வினவலை ஒரு நீண்ட சரமாக மாற்றும், எனவே நீங்கள் விரும்பியபடி அதை எழுதலாம்.
நீங்கள் ஏற்கனவே யூகித்தபடி, SELECT மற்றும் FROM முக்கிய வார்த்தைகள் வரையறுக்கப்படவில்லை. இல்லையெனில், SQL பற்றி அதிகம் பேச முடியாது. SQL வினவலின் நீட்டிக்கப்பட்ட பார்வை இதுபோல் தெரிகிறது:
SELECT columns
FROM table
WHERE condition
GROUP BY columns
HAVING columns
ORDER BY sorting
ஒரு முக்கிய வார்த்தையின் உதவியுடன், WHERE
தேர்ந்தெடுக்கப்பட்ட வரிசைகளுக்கு நிபந்தனை / வடிப்பானை அமைக்கலாம்.
உதாரணம் 1 . "புரோகிராமர்" தொழிலைக் கொண்ட பணியாளர்களைத் தேர்ந்தெடுக்கும் வினவலை எழுதுவோம்:
SELECT * FROM employee WHERE occupation = 'Programmer'
மேலும் பின்வரும் வினவல் முடிவைப் பெறுகிறோம்:
ஐடி | பெயர் | தொழில் | சம்பளம் | வயது | சேரும் நாள் |
---|---|---|---|---|---|
1 | இவனோவ் இவான் | புரோகிராமர் | 100,000 | 25 | 2012-06-30 |
2 | பெட்ரோவ் பெட்ர் | புரோகிராமர் | 80,000 | 23 | 2013-08-12 |
நீங்கள் பார்க்க முடியும் என, வினவல் செயல்பாட்டின் விளைவாக, பணியாளரின் தொழில் "புரோகிராமர்" என்று அழைக்கப்படும் வரிசைகள் மட்டுமே காட்டப்படும்.
முக்கிய வார்த்தைகள் GROUP BY
, ORDER BY
மற்றும் HAVING
அடுத்த விரிவுரைகளில் காண்போம். இதில் WHERE என்ற வார்த்தையுடன் இன்னும் இரண்டு எடுத்துக்காட்டுகளை பகுப்பாய்வு செய்வோம்.
உதாரணம் 2 . இப்போது 100K க்கும் அதிகமான சம்பளம் உள்ள அனைத்து ஊழியர்களையும் காண்பிக்கும் வினவலை எழுதுவோம். இது எப்படி இருக்கும் என்பது இங்கே:
SELECT * FROM employee WHERE salary > 100000
பின்வரும் வினவல் முடிவைப் பெறுகிறோம்:
ஐடி | பெயர் | தொழில் | சம்பளம் | வயது | சேரும் நாள் |
---|---|---|---|---|---|
4 | ரபினோவிச் மொய்ஷா | இயக்குனர் | 200,000 | 35 | 2015-05-12 |
எடுத்துக்காட்டு 3 . இப்போது கடினமான ஒன்றை முயற்சிப்போம். 2015 இல் பணியமர்த்தப்பட்ட அனைத்து ஊழியர்களையும் எவ்வாறு காட்டுவது? மேலும் இது போன்றது:
SELECT * FROM employee WHERE YEAR(join_date) = 2015
பின்வரும் வினவல் முடிவைப் பெறுகிறோம்:
ஐடி | பெயர் | தொழில் | சம்பளம் | வயது | சேரும் நாள் |
---|---|---|---|---|---|
4 | ரபினோவிச் மொய்ஷா | இயக்குனர் | 200,000 | 35 | 2015-05-12 |
5 | கிரியென்கோ அனஸ்தேசியா | அலுவலக மேலாளர் | 40,000 | 25 | 2015-10-10 |
இந்த வினவலில், ஒரு தேதியிலிருந்து ஆண்டைப் பெற அனுமதிக்கும் சிறப்புச் செயல்பாட்டைப் பயன்படுத்துகிறோம் YEAR()
, பின்னர் தேதியின் ஆண்டை 2015 என்ற எண்ணுடன் ஒப்பிடுவோம்.
2.3 SQL வினவல்களில் கருத்துகள்
மேலும் ஒரு முக்கியமான விஷயம் SQL வினவல்களில் உள்ள கருத்துகள். கருத்துகள் மிகவும் பயனுள்ள விஷயம். முதலில், நீங்கள் விளக்கங்கள் மற்றும் / அல்லது உங்கள் யோசனைகளை அவற்றில் எழுதலாம். இரண்டாவதாக, கருத்துகளின் உதவியுடன், உடைந்த குறியீட்டை முடக்கலாம். அல்லது குறியீட்டின் பழைய பதிப்பில் கருத்து தெரிவிக்கவும்.
ஜாவாவைப் போலவே SQL, ஒற்றை வரி மற்றும் பல வரி கருத்துகளைக் கொண்டுள்ளது. மேலும், ஜாவாவில் உள்ளதைப் போலவே பல வரி கருத்து உள்ளது. அதன் தோற்றம்:
/*
comment text
comment text
comment text
*/
நிச்சயமாக, இது ஒரு வரியிலும் பயன்படுத்தப்படலாம். உதாரணமாக:
/*comment text*/
ஜாவா "//" போலவே "ஆரம்பத்திலிருந்து வரியின் இறுதி வரை" கருத்து வகையும் உள்ளது. SQL இல் மட்டும் நீங்கள் இரண்டு கழித்தல் எழுத்துகளையும் ஒரு இடத்தையும் எழுத வேண்டும் . அத்தகைய கருத்தின் பொதுவான பார்வை:
-- comment text
உதாரணமாக:
SELECT * FROM employee -- WHERE YEAR(join_date) = 2015
மேலே உள்ள எடுத்துக்காட்டில், வினவல் நிபந்தனையை நாங்கள் கருத்து தெரிவித்தோம், எனவே MySQL வினவலை மட்டுமே செயல்படுத்தும்:
SELECT * FROM employee
2.4 SQL உச்சரிப்பு
நீங்கள் வெளிநாட்டு வாடிக்கையாளர்களுடன் தொடர்பு கொண்டாலோ அல்லது ஒரு அமெரிக்க நிறுவனத்திற்கான ஆன்லைன் நேர்காணலில் தேர்ச்சி பெற்றாலோ, அதன் தொடர்ச்சியான மொழியின் அனுபவத்தைப் பற்றி உங்களிடம் கேட்கப்படலாம் . நீங்கள் அவருடன் வேலை செய்யவில்லை என்று நேர்மையாகச் சொல்வீர்கள், உடனடியாக நேர்காணலைத் தட்டவும்.
விஷயம் என்னவென்றால், SQL மொழி முதலில் SEQUEL என்று அழைக்கப்பட்டது, இது ஒரு தொடர்ச்சி (ˈsēkwəl) என உச்சரிக்கப்படுகிறது, எனவே அமெரிக்காவிலும் பிற ஆங்கில மொழி மூலங்களிலும் நீங்கள் அடிக்கடி கேட்கும் “escuel” அல்ல, ஆனால் “sequel”. SQL எழுதப்பட்டது, அதன் தொடர்ச்சி வாசிக்கப்பட்டது. அத்தகைய ஒரு வரலாற்று முரண்பாடு இங்கே உள்ளது.
GO TO FULL VERSION