SQL LEFT JOIN


baham ko'ring

SQL LEFT JOIN

LEFT JOIN chap jadvaldagi barcha qatorlarni (table1) va o‘ng jadvaldagi (table2) faqat mos keladigan qatorlarni qaytaradi.

Agar o‘ng jadvalda mos kelmasa, o‘ng jadvaldagi ustunlar uchun natija NULL bo‘ladi.

LEFT JOIN va LEFT OUTER JOIN kalit so‘zlari teng – OUTER kalit so‘zi ixtiyoriy.

SQL LEFT JOIN

LEFT JOIN sintaksisi

SELECT column_name(s)
FROM table1
LEFT JOIN table2
ON table1.column_name = table2.column_name;

Eslatma: Sintaksis tegishli ustunga asoslangan ikkita jadvalni birlashtiradi, va ON kalit so‘zi mos keladigan shartni belgilash uchun ishlatiladi.


Demo ma’lumotlar bazasi

Quyida tanlanma "Customers" jadvali keltirilgan:

CustomerID CustomerName ContactName Address City PostalCode Country
1

Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico

Va "Orders" jadvalidan tanlov:

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

Bu yerda biz yuqoridagi ikkita jadval orasidagi tegishli ustun "CustomerID" ustuni ekanligini ko‘ramiz.



SQL LEFT JOIN misollari

Quyidagi SQL barcha mijozlarni va ularning buyurtmalarini, shu jumladan hech qanday buyurtma bermagan mijozlarni ham qaytaradi:

Misol

SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
LEFT JOIN Orders ON Customers.CustomerID = Orders.CustomerID
ORDER BY Customers.CustomerName;
O‘zingiz sinab ko‘ring »

Maslahat: Faqat tartib bermagan mijozlarni topish uchun o‘ng jadvaldagi NULL qiymatlarni filtrlash uchun WHERE bandini qo‘shing:

Misol

SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
LEFT JOIN Orders
ON Customers.CustomerID = Orders.CustomerID
WHERE Orders.CustomerID IS NULL;
O‘zingiz sinab ko‘ring »



W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!