Sobes.tech
Junior

O que é uma junção à esquerda (left join) em SQL?

sobes.tech IA

Resposta da IA

A junção à esquerda (LEFT JOIN ou LEFT OUTER JOIN) em SQL retorna todas as linhas da "esquerda" e as linhas correspondentes da "direita". Se nenhuma correspondência for encontrada na tabela da direita, os valores das colunas da tabela da direita serão NULL.

  • Sintaxe:

    SELECT lista_de_colunas
    FROM tabela1  -- Tabela à esquerda
    LEFT JOIN tabela2 ON tabela1.coluna = tabela2.coluna;
    
  • Resultado:

    • Todas as linhas de tabela1.
    • As linhas correspondentes de tabela2.
    • Para as linhas de tabela1 sem correspondência em tabela2, as colunas de tabela2 conterão NULL.
  • Exemplo:

    Suponha que temos duas tabelas: Orders e Customers. Queremos obter uma lista de todos os pedidos e informações sobre os clientes que os fizeram. Se um pedido não tiver cliente (por exemplo, excluído), ainda assim queremos ver esse pedido.

    -- Tabela Orders
    -- OrderID | CustomerID | OrderDate
    -- 1       | 101        | 2023-10-26
    -- 2       | 102        | 2023-10-26
    -- 3       | NULL       | 2023-10-27
    
    -- Tabela 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