SQL Joins

இரண்டு அல்லது அதற்கு மேற்பட்ட அட்டவணைகளில் இருந்து வரிசைகளை இணைக்க SQL Joins பற்றி அறிந்து கொள்ளுங்கள்

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

Table A
Table B
பொருந்தும் தரவு

இரண்டு அட்டவணைகளுக்கும் இடையே பொருந்தும் தரவு மட்டுமே

LEFT JOIN

Table A
Table B
பொருந்தும் தரவு

அனைத்து Table A தரவு + Table B-ல் பொருந்தும் தரவு

RIGHT JOIN

Table A
Table B
பொருந்தும் தரவு

அனைத்து Table B தரவு + Table A-ல் பொருந்தும் தரவு

FULL JOIN

Table A
Table B
பொருந்தும் தரவு

இரண்டு அட்டவணைகளில் இருந்தும் அனைத்து தரவும்

பயிற்சி

SQL JOIN-ன் முதன்மை நோக்கம் என்ன?

ஏற்கனவே உள்ள அட்டவணைகளில் இருந்து புதிய அட்டவணையை உருவாக்க
✗ தவறு! JOIN புதிய அட்டவணையை உருவாக்காது
ஒரு அட்டவணையில் நகல் வரிசைகளை நீக்க
✗ தவறு! JOIN நகல் வரிசைகளை நீக்க பயன்படுத்தப்படாது
தரவை ஏறுவரிசை அல்லது இறங்குவரிசையில் வரிசைப்படுத்த
✗ தவறு! ORDER BY தரவை வரிசைப்படுத்த பயன்படுகிறது
தொடர்புடைய நெடுவரிசையின் அடிப்படையில் இரண்டு அல்லது அதற்கு மேற்பட்ட அட்டவணைகளில் இருந்து வரிசைகளை இணைக்க
✓ சரி! JOIN-ன் முதன்மை நோக்கம் தொடர்புடைய நெடுவரிசையின் அடிப்படையில் பல அட்டவணைகளில் இருந்து தரவை இணைப்பதாகும்