LEFT JOIN Keyword என்றால் என்ன?
LEFT JOIN keyword இடது அட்டவணையில் (table1) இருந்து அனைத்து பதிவுகளையும், மற்றும் வலது அட்டவணையில் (table2) இருந்து பொருந்தக்கூடிய பதிவுகளையும் தரும். பொருந்தாதது இருந்தால், வலது பக்கத்தில் இருந்து 0 பதிவுகள் முடிவாகும்.
LEFT JOIN தொடரியல்
SELECT column_name(s)
FROM table1
LEFT JOIN table2
ON table1.column_name = table2.column_name;
குறிப்பு:
சில தரவுத்தளங்களில் LEFT JOIN-ஐ LEFT 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 LEFT JOIN உதாரணம்
பின்வரும் SQL statement அனைத்து வாடிக்கையாளர்களையும், மற்றும் அவர்களுக்கு இருக்கக்கூடிய எந்த ஆர்டர்களையும் தேர்ந்தெடுக்கும்:
உதாரணம்
SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
LEFT JOIN Orders ON Customers.CustomerID = Orders.CustomerID
ORDER BY Customers.CustomerName;
குறிப்பு:
LEFT JOIN keyword இடது அட்டவணையில் (Customers) இருந்து அனைத்து பதிவுகளையும் தரும், வலது அட்டவணையில் (Orders) பொருந்தாதது இருந்தாலும் கூட.
LEFT JOIN காட்சிப் பிரதிநிதித்துவம்
Customers அட்டவணை (இடது)
Orders அட்டவணை (வலது)
LEFT JOIN முடிவு
கவனிக்க: LEFT JOIN அனைத்து வாடிக்கையாளர்களையும் (இடது அட்டவணை) காட்டுகிறது, அவர்களுக்கு ஆர்டர்கள் இருந்தாலும் இல்லையாலும். பொருந்தாத வாடிக்கையாளர்களுக்கு OrderID NULL ஆக காட்டப்படும்.
எப்போது LEFT JOIN பயன்படுத்த வேண்டும்
அனைத்து வாடிக்கையாளர்களையும் காண
ஆர்டர்கள் இல்லாத வாடிக்கையாளர்கள் உட்பட அனைத்து வாடிக்கையாளர்களையும் பட்டியலிட
விற்பனை அறிக்கைகள்
விற்பனை செய்யாத தயாரிப்புகள் உட்பட அனைத்து தயாரிப்புகளையும் காண
செயல்திறன் பகுப்பாய்வு
செயல்பாடு இல்லாத அனைத்து எண்டிட்டிகளையும் அடையாளம் காண
LEFT JOIN vs INNER JOIN
LEFT JOIN
- இடது அட்டவணையில் இருந்து அனைத்து வரிசைகள்
- வலது அட்டவணையில் இருந்து பொருந்தும் வரிசைகள்
- பொருந்தாதவைக்கு NULL மதிப்புகள்
- மொத்த வரிசைகள் ≥ இடது அட்டவணை வரிசைகள்
SELECT *
FROM TableA
LEFT JOIN TableB
ON TableA.ID = TableB.ID;
INNER JOIN
- இரண்டு அட்டவணைகளிலும் பொருந்தும் வரிசைகள் மட்டும்
- இரண்டு அட்டவணைகளுக்கும் பொதுவான தரவு
- பொருந்தாதவை விலக்கப்பட்டது
- மொத்த வரிசைகள் ≤ இரண்டு அட்டவணைகளின் குறைந்தபட்சம்
SELECT *
FROM TableA
INNER JOIN TableB
ON TableA.ID = TableB.ID;