FULL OUTER JOIN Keyword என்றால் என்ன?
FULL OUTER JOIN keyword இடது (table1) அல்லது வலது (table2) அட்டவணை பதிவுகளில் பொருந்தும் போது அனைத்து பதிவுகளையும் தரும்.
உதவிக்குறிப்பு:
FULL OUTER JOIN மற்றும் FULL JOIN ஒன்றே.
FULL OUTER JOIN தொடரியல்
SELECT column_name(s)
FROM table1
FULL OUTER JOIN table2
ON table1.column_name = table2.column_name
WHERE condition;
குறிப்பு:
FULL OUTER JOIN மிகப் பெரிய முடிவு-தொகுப்புகளை திரும்பப் பெறக்கூடும்!
ஆர்ப்பாட்ட தரவுத்தளம்
இந்த பயிற்சியில் நாம் நன்கு அறியப்பட்ட Northwind மாதிரி தரவுத்தளத்தைப் பயன்படுத்துவோம்.
"Customers" அட்டவணையில் இருந்து ஒரு தேர்வு கீழே உள்ளது:
Customers அட்டவணை
+------------+--------------------------------+----------------+-------------------+----------+------------+---------+
| CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
+------------+--------------------------------+----------------+-------------------+----------+------------+---------+
| 1 | Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
| 2 | Ana Trujillo Emparedados... | Ana Trujillo | Avda. Constitución| México | 05021 | Mexico |
| 3 | Antonio Moreno Taquería | Antonio Moreno | Mataderos 2312 | México | 05023 | Mexico |
+------------+--------------------------------+----------------+-------------------+----------+------------+---------+
மற்றும் "Orders" அட்டவணையில் இருந்து ஒரு தேர்வு:
Orders அட்டவணை
+---------+------------+-----------+------------+------------+
| OrderID | CustomerID | EmployeeID | OrderDate | ShipperID |
+---------+------------+-----------+------------+------------+
| 10308 | 2 | 7 | 1996-09-18 | 3 |
| 10309 | 37 | 3 | 1996-09-19 | 1 |
| 10310 | 77 | 8 | 1996-09-20 | 2 |
+---------+------------+-----------+------------+------------+
SQL FULL OUTER JOIN உதாரணம்
பின்வரும் SQL statement அனைத்து வாடிக்கையாளர்களையும், மற்றும் அனைத்து ஆர்டர்களையும் தேர்ந்தெடுக்கும்:
உதாரணம்
SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
FULL OUTER JOIN Orders ON Customers.CustomerID=Orders.CustomerID
ORDER BY Customers.CustomerName;
முடிவு தொகுப்பில் இருந்து ஒரு தேர்வு இப்படி தோன்றலாம்:
முடிவு
+--------------------------------+---------+
| CustomerName | OrderID |
+--------------------------------+---------+
| NULL | 10309 |
| NULL | 10310 |
| Alfreds Futterkiste | NULL |
| Ana Trujillo Emparedados... | 10308 |
| Antonio Moreno Taquería | NULL |
+--------------------------------+---------+
குறிப்பு:
FULL OUTER JOIN keyword மற்ற அட்டவணையில் பொருந்தும் அல்லது பொருந்தாதது இருந்தாலும், இரண்டு அட்டவணைகளில் இருந்தும் அனைத்து பொருந்தும் பதிவுகளையும் தரும். எனவே, "Customers"-ல் "Orders"-ல் பொருந்தாத வரிசைகள் இருந்தால், அல்லது "Orders"-ல் "Customers"-ல் பொருந்தாத வரிசைகள் இருந்தால், அந்த வரிசைகளும் பட்டியலிடப்படும்.
FULL OUTER JOIN காட்சிப் பிரதிநிதித்துவம்
Customers அட்டவணை
Orders அட்டவணை
FULL OUTER JOIN முடிவு
கவனிக்க: FULL OUTER JOIN இரண்டு அட்டவணைகளில் இருந்தும் அனைத்து பதிவுகளையும் காட்டுகிறது - பொருந்தும் பதிவுகள், ஆர்டர்கள் இல்லாத வாடிக்கையாளர்கள், மற்றும் வாடிக்கையாளர்கள் இல்லாத ஆர்டர்கள் அனைத்தும் சேர்க்கப்பட்டுள்ளன.
JOIN வகைகள் ஒப்பீடு
INNER JOIN
இரண்டு அட்டவணைகளிலும் பொருந்தும் பதிவுகள் மட்டும்
LEFT JOIN
இடது அட்டவணையில் இருந்து அனைத்தும் + பொருந்தும் பதிவுகள்
RIGHT JOIN
வலது அட்டவணையில் இருந்து அனைத்தும் + பொருந்தும் பதிவுகள்
FULL OUTER JOIN
இரண்டு அட்டவணைகளில் இருந்தும் அனைத்து பதிவுகள்
எப்போது FULL OUTER JOIN பயன்படுத்த வேண்டும்
முழுமையான தரவு பகுப்பாய்வு
இரண்டு அட்டவணைகளில் இருந்தும் முழுமையான தரவைப் பகுப்பாய்வு செய்ய
பொருந்தாத பதிவுகளைக் கண்டறிதல்
இரண்டு அட்டவணைகளிலும் பொருந்தாத பதிவுகளை அடையாளம் காண
தரவு ஒத்திசைவு
இரண்டு மூலங்களில் இருந்து தரவை ஒருங்கிணைத்து ஒத்திசைக்க
முக்கியமான குறிப்பு:
FULL OUTER JOIN பெரிய அட்டவணைகளில் பயன்படுத்தும் போது கவனமாக இருங்கள், ஏனெனில் இது மிகப் பெரிய முடிவுகளை உருவாக்கக்கூடும். WHERE clause-ஐப் பயன்படுத்தி முடிவுகளை வடிகட்டுவது நல்லது.