SQL JOIN என்றால் என்ன?
ஒரு JOIN clause இரண்டு அல்லது அதற்கு மேற்பட்ட அட்டவணைகளில் இருந்து வரிசைகளை இணைக்க பயன்படுகிறது, அவற்றுக்கிடையேயான தொடர்புடைய நெடுவரிசையின் அடிப்படையில்.
"Orders" அட்டவணையில் இருந்து ஒரு தேர்வைப் பார்ப்போம்:
Orders அட்டவணை
+---------+------------+------------+
| OrderID | CustomerID | OrderDate |
+---------+------------+------------+
| 10308 | 2 | 1996-09-18 |
| 10309 | 37 | 1996-09-19 |
| 10310 | 77 | 1996-09-20 |
+---------+------------+------------+
பின்னர், "Customers" அட்டவணையில் இருந்து ஒரு தேர்வைப் பார்ப்போம்:
Customers அட்டவணை
+------------+--------------------------------+----------------+---------+
| CustomerID | CustomerName | ContactName | Country |
+------------+--------------------------------+----------------+---------+
| 1 | Alfreds Futterkiste | Maria Anders | Germany |
| 2 | Ana Trujillo Emparedados... | Ana Trujillo | Mexico |
| 3 | Antonio Moreno Taquería | Antonio Moreno | Mexico |
+------------+--------------------------------+----------------+---------+
கவனிக்க:
"Orders" அட்டவணையில் உள்ள "CustomerID" நெடுவரிசை "Customers" அட்டவணையில் உள்ள "CustomerID"-ஐக் குறிக்கிறது. மேலே உள்ள இரண்டு அட்டவணைகளுக்கு இடையேயான உறவு "CustomerID" நெடுவரிசையாகும்.
INNER JOIN உதாரணம்
பின்னர், நாம் பின்வரும் SQL statement-ஐ உருவாக்கலாம் (இது ஒரு INNER JOIN-ஐக் கொண்டுள்ளது), இது இரண்டு அட்டவணைகளிலும் பொருந்தக்கூடிய மதிப்புகளைக் கொண்ட பதிவுகளைத் தேர்ந்தெடுக்கிறது:
உதாரணம்
SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM Orders
INNER JOIN Customers ON Orders.CustomerID=Customers.CustomerID;
இது இப்படி ஏதாவது ஒன்றை உருவாக்கும்:
முடிவு
+---------+--------------------------------+------------+
| OrderID | CustomerName | OrderDate |
+---------+--------------------------------+------------+
| 10308 | Ana Trujillo Emparedados... | 9/18/1996 |
| 10365 | Antonio Moreno Taquería | 11/27/1996 |
| 10383 | Around the Horn | 12/16/1996 |
| 10355 | Around the Horn | 11/15/1996 |
| 10278 | Berglunds snabbköp | 8/12/1996 |
+---------+--------------------------------+------------+
வெவ்வேறு வகையான SQL JOINs
SQL-ல் உள்ள JOINs-ன் வெவ்வேறு வகைகள் இங்கே உள்ளன:
(INNER) JOIN
இரண்டு அட்டவணைகளிலும் பொருந்தக்கூடிய மதிப்புகளைக் கொண்ட பதிவுகளைத் தரும்
SELECT columns
FROM table1
INNER JOIN table2
ON table1.column = table2.column;
LEFT (OUTER) JOIN
இடது அட்டவணையில் இருந்து அனைத்து பதிவுகளையும், வலது அட்டவணையில் இருந்து பொருந்தக்கூடிய பதிவுகளையும் தரும்
SELECT columns
FROM table1
LEFT JOIN table2
ON table1.column = table2.column;
RIGHT (OUTER) JOIN
வலது அட்டவணையில் இருந்து அனைத்து பதிவுகளையும், இடது அட்டவணையில் இருந்து பொருந்தக்கூடிய பதிவுகளையும் தரும்
SELECT columns
FROM table1
RIGHT JOIN table2
ON table1.column = table2.column;
FULL (OUTER) JOIN
இடது அல்லது வலது அட்டவணையில் பொருந்தும் போது அனைத்து பதிவுகளையும் தரும்
SELECT columns
FROM table1
FULL OUTER JOIN table2
ON table1.column = table2.column;
JOIN வகைகள் வரைபடம்
INNER JOIN
இரண்டு அட்டவணைகளுக்கும் இடையே பொருந்தும் தரவு மட்டுமே
LEFT JOIN
அனைத்து Table A தரவு + Table B-ல் பொருந்தும் தரவு
RIGHT JOIN
அனைத்து Table B தரவு + Table A-ல் பொருந்தும் தரவு
FULL JOIN
இரண்டு அட்டவணைகளில் இருந்தும் அனைத்து தரவும்