SQL LEFT JOIN Keyword

இடது அட்டவணையில் இருந்து அனைத்து பதிவுகளையும் மற்றும் வலது அட்டவணையில் இருந்து பொருந்தக்கூடிய பதிவுகளையும் திரும்பப் பெற LEFT JOIN பற்றி அறிந்து கொள்ளுங்கள்

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 அட்டவணை (இடது)

CustomerID
CustomerName
1
Alfreds Futterkiste
2
Ana Trujillo
3
Antonio Moreno
4
Around the Horn
LEFT JOIN

Orders அட்டவணை (வலது)

OrderID
CustomerID
10308
2
10309
37
10310
77

LEFT JOIN முடிவு

CustomerName
OrderID
குறிப்பு
Alfreds Futterkiste
NULL
ஆர்டர்கள் இல்லை
Ana Trujillo
10308
பொருந்தும் ஆர்டர்
Antonio Moreno
NULL
ஆர்டர்கள் இல்லை
Around the Horn
NULL
ஆர்டர்கள் இல்லை

கவனிக்க: 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;

பயிற்சி

SQL LEFT JOIN keyword என்ன செய்கிறது?

இரண்டு அட்டவணைகளில் இருந்தும் பொருந்தும் பதிவுகளை மட்டும் தரும்
✗ தவறு! இது INNER JOIN-ன் வேலை
இடது அட்டவணையில் இருந்து அனைத்து பதிவுகளையும் மற்றும் வலது அட்டவணையில் இருந்து பொருந்தும் பதிவுகளையும் தரும்
✓ சரி! LEFT JOIN இடது அட்டவணையில் இருந்து அனைத்து பதிவுகளையும் தரும், வலது அட்டவணையில் பொருந்தாதது இருந்தாலும் கூட
வலது அட்டவணையில் இருந்து அனைத்து பதிவுகளையும் மற்றும் இடது அட்டவணையில் இருந்து பொருந்தும் பதிவுகளையும் தரும்
✗ தவறு! இது RIGHT JOIN-ன் வேலை
இரண்டு அட்டவணைகளில் இருந்தும் அனைத்து பதிவுகளையும் தரும்
✗ தவறு! இது FULL OUTER JOIN-ன் வேலை