Sobes.tech
Junior

SQLda chap qoshilish (left join) nima?

sobes.tech AI

AIdan javob

SQL'da LEFT JOIN yoki LEFT OUTER JOIN, "chap" jadvaldagi barcha satrlarni va "o'ng" jadvaldagi mos keladigan satrlarni qaytaradi. Agar o'ng jadvalda mos keladigan satr topilmasa, o'ng jadval ustunlarining qiymatlari NULL bo'ladi.

  • Sintaksis:

    SELECT ustunlar_ro'yxati
    FROM jadval1  -- Chap jadval
    LEFT JOIN jadval2 ON jadval1.ustun = jadval2.ustun;
    
  • Natija:

    • jadval1dan barcha satrlar.
    • jadval2dan mos keladigan satrlar.
    • jadval1dan va jadval2dan mos kelmaydigan satrlar uchun, jadval2 ustunlari NULL bo'ladi.
  • Misol:

    Faraz qilaylik, ikkita jadvalimiz bor: Orders va Customers. Biz barcha buyurtmalar ro'yxatini va ularni qilgan mijozlar haqida ma'lumot olishni istaymiz. Agar buyurtma mijozsiz (masalan, o'chirilgan) bo'lsa, biz bu buyurtmani ham ko'rishni xohlaymiz.

    -- Orders jadvali
    -- OrderID | CustomerID | OrderDate
    -- 1       | 101        | 2023-10-26
    -- 2       | 102        | 2023-10-26
    -- 3       | NULL       | 2023-10-27
    
    -- Customers jadvali
    -- CustomerID | CustomerName
    -- 101        | Alice
    -- 102        | Bob
    
    SELECT
        O.OrderID,
        C.CustomerName
    FROM
        Orders AS O
    LEFT JOIN
        Customers AS C ON O.CustomerID = C.CustomerID;
    
    OrderID CustomerName
    1 Alice
    2 Bob
    3 NULL