Sobes.tech
Junior

რა არის SQL-ში მარცხენა შეუერთება (left join)?

sobes.tech AI

პასუხი AI-სგან

SQL-ში მარცხენა შეუერთება (LEFT JOIN ან LEFT OUTER JOIN) აბრუნებს ყველა სვეტს "მარცხენა" ცხრილიდან და შესაბამის სვეტებს "მარჯვენა" ცხრილიდან. თუ მარჯვენა ცხრილში შესაბამისობა არ მოიძებნება, მარჯვენა ცხრილის სვეტების მნიშვნელობები იქნება NULL.

  • სინტაქსი:

    SELECT სვეტების_სია
    FROM ცხრილი1  -- მარცხენა ცხრილი
    LEFT JOIN ცხრილი2 ON ცხრილი1.სვეტი = ცხრილი2.სვეტი;
    
  • შედეგი:

    • ყველა სვეტი ცხრილი1-დან.
    • შესაბამისი სვეტი ცხრილი2-დან.
    • სვეტები ცხრილი2-დან, რომლებიც არ მოიძებნება, იქნება NULL.
  • მაგალითი:

    განვიხილოთ ორი ცხრილი: Orders და Customers. გვსურს მიიღოთ ყველა შეკვეთის სია და ინფორმაცია მათზე, ვინც შეკვეთა განახორციელა. თუ შეკვეთა მომხმარებლის გარეშეა (მაგ., წაშლილი), მაინც გვსურს მისი ნახვა:

    -- Orders ცხრილი
    -- OrderID | CustomerID | OrderDate
    -- 1       | 101        | 2023-10-26
    -- 2       | 102        | 2023-10-26
    -- 3       | NULL       | 2023-10-27
    
    -- Customers ცხრილი
    -- 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