5.1 அறிக்கை உள்ளது
SQL இல் பயன்படுத்தப்படும் மற்றொரு பயனுள்ள ஆபரேட்டர் உள்ளது GROUP BY
, அது அழைக்கப்படுகிறது HAVING
.
அதன் அர்த்தத்தில், இது ஆபரேட்டருக்கு முற்றிலும் ஒத்ததாகும் WHERE
. WHERE
குழுவாக்குவதற்கு முன் ஒரு வரிசை வடிப்பானை அமைக்க மட்டுமே இது உங்களை அனுமதிக்கிறது, மேலும் HAVING
குழுவிற்குப் பிறகு பதிவுகளுக்குப் பயன்படுத்தப்படும் வடிப்பானை நீங்கள் அமைக்கலாம்.
குழுவாக்குதல் மற்றும் வடிகட்டுதல் குழுவாக்குதல் முடிவுகளைப் பயன்படுத்தும் போது வினவலின் பொதுவான பார்வை பின்வருமாறு:
SELECT columns
FROM table
WHERE condition
GROUP BY columns
HAVING condition
HAVING
கோரிக்கையில் இருந்தால் மட்டுமே பயன்படுத்த முடியும் GROUP BY
.
ஆண்டு வாரியாக பணியமர்த்தப்பட்ட ஊழியர்களின் எண்ணிக்கையைக் காண்பிக்கும் வினவலை எழுதுவோம்.
SELECT
YEAR(join_date) AS hire_year,
COUNT(*) AS total
FROM employee
GROUP BY hire_year
மற்றும் இந்த வினவலின் முடிவு:
வாடகை_ஆண்டு | மொத்தம் |
---|---|
2012 | 1 |
2013 | 1 |
2014 | 1 |
2015 | 2 |
2018 | 1 |
ஒன்று அல்லது குறைவான பணியாளர்கள் பணியமர்த்தப்பட்ட ஆண்டுகளை இப்போது அதிலிருந்து விலக்குகிறோம். உதாரணமாக:
SELECT
YEAR(join_date) AS hire_year,
COUNT(*) AS total
FROM employee
GROUP BY hire_year
HAVING total > 1
மற்றும் இந்த வினவலின் முடிவு:
வாடகை_ஆண்டு | மொத்தம் |
---|---|
2015 | 2 |
5.3 அறிக்கைகளை நிறைவேற்றுவதற்கான வரிசை
சரியான மற்றும் திறமையான SQL வினவல்களை எழுத, SQL சேவையகத்தால் அவை எவ்வாறு செயல்படுத்தப்படுகின்றன என்பதை நீங்கள் புரிந்து கொள்ள வேண்டும்.
செயல்களைச் செய்வதற்கான செயல்முறை கண்டிப்பாக கட்டுப்படுத்தப்படுகிறது மற்றும் உங்கள் விருப்பத்தை சார்ந்தது அல்ல. நீங்கள் ஆபரேட்டர்களை மறுசீரமைத்து வேறு ஆர்டரைப் பெற முடியாது.
SQL வினவல் இந்த வரிசையில் பல நிலைகளில் செயல்படுத்தப்படுகிறது.
- நிலை 1 - வரிசைகளைப் பெறுதல்
- முதலில், குறிப்பிட்ட அட்டவணையில் இருந்து அனைத்து வரிசைகளும் தேர்ந்தெடுக்கப்பட்டன.
- பின்னர் கணக்கிடப்பட்ட புலங்கள் அவற்றில் சேர்க்கப்படும்.
- பின்னர் அனைத்து வரிசைகளிலும், நிபந்தனையை பூர்த்தி செய்யும் வரிசைகள் மட்டுமே இருக்கும்
WHERE
- நிலை 2 - குழுவாக்கம்
- குழுவாக்கம் முடிவுகளுக்குப் பயன்படுத்தப்படுகிறது.
- குழுவாக்கும் போது, போன்ற துறைகள்
COUNT(*)
. - இறுதியாக, ஒரு வடிப்பான் தொகுத்தல் முடிவுக்கு பயன்படுத்தப்படுகிறது
HAVING
. - நிலை 3 - வரிசைப்படுத்துதல்
- முந்தைய படிகளில் பெறப்பட்ட வரிசைகள் பயன்படுத்தி வரிசைப்படுத்தப்படுகின்றன
ORDER BY
.
இறுதியாக, இதன் விளைவாக ஒழுங்கமைக்கப்படலாம் LIMIT
மற்றும் OFFSET
.
GO TO FULL VERSION