MySQL UNION Operator

பல SELECT கூற்றுகளின் முடிவுகளை இணைக்க கற்றுக்கொள்ளுங்கள்

MySQL UNION ஆபரேட்டர்

UNION ஆபரேட்டர் இரண்டு அல்லது அதற்கு மேற்பட்ட SELECT கூற்றுகளின் முடிவுத் தொகுப்பை இணைக்க பயன்படுகிறது.

UNION ஆபரேட்டர் தானாகவே முடிவுத் தொகுப்பிலிருந்து நகல் வரிசைகளை நீக்குகிறது.

முடிவுகளை இணைக்கிறது

பல SELECT கூற்றுகளின் முடிவுகளை ஒரே முடிவுத் தொகுப்பாக இணைக்கிறது

நகல்களை நீக்குகிறது

தானாகவே நகல் வரிசைகளை நீக்குகிறது

கட்டமைப்பு தேவைகள்

அதே எண்ணிக்கையிலான நெடுவரிசைகள் மற்றும் தரவு வகைகள் தேவை

UNION க்கான தேவைகள்

அதே எண்ணிக்கையிலான நெடுவரிசைகள்: UNION உள்ளுள்ள ஒவ்வொரு SELECT கூற்றும் ஒரே எண்ணிக்கையிலான நெடுவரிசைகளைக் கொண்டிருக்க வேண்டும்
ஒத்த தரவு வகைகள்: நெடுவரிசைகளும் ஒத்த தரவு வகைகளைக் கொண்டிருக்க வேண்டும்
அதே வரிசை: ஒவ்வொரு SELECT கூற்றிலும் உள்ள நெடுவரிசைகள் ஒரே வரிசையில் இருக்க வேண்டும்

UNION தொடரியல்

SELECT column_name(s) FROM table1
UNION
SELECT column_name(s) FROM table2;

💡 குறிப்பு:

முடிவுத் தொகுப்பில் உள்ள நெடுவரிசை பெயர்கள் பொதுவாக முதல் SELECT கூற்றில் உள்ள நெடுவரிசை பெயர்களுக்குச் சமமாக இருக்கும்.

டெமோ தரவுத்தளம்

இந்த பயிற்சியில் நன்கு அறியப்பட்ட Northwind மாதிரி தரவுத்தளத்தைப் பயன்படுத்துவோம்.

"Customers" அட்டவணையில் இருந்து ஒரு தேர்வு:

CustomerID CustomerName ContactName Address City PostalCode Country
1 Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico

"Suppliers" அட்டவணையில் இருந்து ஒரு தேர்வு:

SupplierID SupplierName ContactName Address City PostalCode Country
1 Exotic Liquid Charlotte Cooper 49 Gilbert St. London EC1 4SD UK
2 New Orleans Cajun Delights Shelley Burke P.O. Box 78934 New Orleans 70117 USA
3 Grandma Kelly's Homestead Regina Murphy 707 Oxford Rd. Ann Arbor 48104 USA

SQL UNION எடுத்துக்காட்டு

பின்வரும் SQL கூற்று "Customers" மற்றும் "Suppliers" அட்டவணைகளில் இருந்து நகரங்களை (தனித்துவமான மதிப்புகள் மட்டும்) திரும்பப் பெறுகிறது:

ExampleGet your own SQL Server

SELECT City FROM Customers
UNION
SELECT City FROM Suppliers
ORDER BY City;

💡 குறிப்பு:

சில வாடிக்கையாளர்கள் அல்லது சப்ளையர்கள் ஒரே நகரத்தைக் கொண்டிருந்தால், ஒவ்வொரு நகரமும் ஒருமுறை மட்டுமே பட்டியலிடப்படும், ஏனெனில் UNION தனித்துவமான மதிப்புகளை மட்டுமே தேர்ந்தெடுக்கிறது. நகல் மதிப்புகளையும் தேர்ந்தெடுக்க UNION ALL ஐப் பயன்படுத்தவும்!

WHERE உடன் SQL UNION

பின்வரும் SQL கூற்று "Customers" மற்றும் "Suppliers" அட்டவணைகளில் இருந்து ஜெர்மன் நகரங்களை (தனித்துவமான மதிப்புகள் மட்டும்) திரும்பப் பெறுகிறது:

Example

SELECT City, Country FROM Customers
WHERE Country='Germany'
UNION
SELECT City, Country FROM Suppliers
WHERE Country='Germany'
ORDER BY City;

மற்றொரு UNION எடுத்துக்காட்டு

பின்வரும் SQL கூற்று அனைத்து வாடிக்கையாளர்கள் மற்றும் சப்ளையர்களை பட்டியலிடுகிறது:

Example

SELECT 'Customer' AS Type, ContactName, City, Country
FROM Customers
UNION
SELECT 'Supplier', ContactName, City, Country
FROM Suppliers;

🔧 முக்கிய குறிப்பு:

மேலே உள்ள "AS Type" கவனிக்கவும் - இது ஒரு மாற்றுப் பெயர். SQL மாற்றுப் பெயர்கள் ஒரு அட்டவணை அல்லது நெடுவரிசைக்கு தற்காலிக பெயரைக் கொடுக்க பயன்படுகின்றன. ஒரு மாற்றுப் பெயர் கோரிக்கையின் கால அளவுக்கு மட்டுமே உள்ளது. எனவே, இங்கே நாம் "Type" என்ற தற்காலிக நெடுவரிசையை உருவாக்கியுள்ளோம், இது தொடர்பு நபர் "Customer" அல்லது "Supplier" என்பதை பட்டியலிடுகிறது.

பயிற்சி

பின்வரும் கூற்றுகளில் எது UNION ஆபரேட்டரை சரியாக விவரிக்கிறது? தேர்வு செய்யவும்

இது இரண்டு அட்டவணைகளை இணைக்கிறது
✗ தவறு! UNION ஆபரேட்டர் அட்டவணைகளை இணைக்காது, SELECT கூற்றுகளின் முடிவுகளை இணைக்கிறது
இது பல SELECT கூற்றுகளின் முடிவுத் தொகுப்புகளை இணைக்கிறது
✓ சரி! UNION ஆபரேட்டர் இரண்டு அல்லது அதற்கு மேற்பட்ட SELECT கூற்றுகளின் முடிவுத் தொகுப்புகளை இணைக்கிறது
இது தானாகவே நகல் வரிசைகளை வைத்துக்கொள்கிறது
✗ தவறு! UNION ஆபரேட்டர் தானாகவே நகல் வரிசைகளை நீக்குகிறது. நகல்களை வைத்துக்கொள்ள UNION ALL பயன்படுத்தவும்
இது வெவ்வேறு எண்ணிக்கையிலான நெடுவரிசைகளைக் கொண்ட SELECT கூற்றுகளுடன் வேலை செய்யும்
✗ தவறு! UNION க்கு அனைத்து SELECT கூற்றுகளிலும் ஒரே எண்ணிக்கையிலான நெடுவரிசைகள் தேவை