"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > INNER JONE vs. JONA EXTERIAL: Qual é a diferença e quando devo usar cada um?

INNER JONE vs. JONA EXTERIAL: Qual é a diferença e quando devo usar cada um?

Postado em 2025-03-23
Navegar:386

INNER JOIN vs. OUTER JOIN: What's the Difference and When Should I Use Each?

conexão do banco de dados: comparação entre junção interna e junção externa

Nas operações do banco de dados, as operações de conexão são a chave para combinar vários dados da tabela. A junção interna e a junção externa são dois tipos básicos de conexão. Este artigo explorará suas principais diferenças e aplicações práticas.

inner Junção: Intersecção

JONE INTERNO SELECT As linhas que possuem valores correspondentes em duas ou mais colunas em tabelas diferentes. Conceitualmente, ele recebe a interseção de dois conjuntos, representados pelas partes sobrepostas do diagrama de Venn. Somente linhas existentes em ambas as tabelas estão incluídas na saída.

junção externa: Union

Ao contrário da junção interna, a junção externa contém todas as linhas na tabela especificada, independentemente de terem correspondências em outras tabelas. Esta operação cria efetivamente uma união, representada por uma área combinada do diagrama de Venn.

junção externa tipo

A junção externa é dividida em três tipos:

  • junção externa esquerda: recebe todas as linhas da tabela esquerda e todas as linhas correspondentes na tabela direita. As linhas na tabela certa que não têm correspondências na tabela esquerda conterão valores nulos.
  • junção externa direita: semelhante à junção externa esquerda, mas obtém todas as linhas da mesa direita e linhas correspondentes na tabela esquerda.
  • junção externa completa: Combine todas as linhas de duas tabelas e preencha as partidas ausentes com valores nulos.

Exemplo prático

Considere a tabela a seguir que contém o cliente e seus dados do pedido:

cliente (id, nome)
Ordens (ID, Customer_id, Produto)

INNER JONCE:

SELECT *
FROM customer
INNER JOIN orders ON customer.id = orders.customer_id;

Esta consulta retornará apenas clientes que fizeram o pedido.

junção externa esquerda:

SELECT *
FROM customer
LEFT OUTER JOIN orders ON customer.id = orders.customer_id;

Esta consulta retornará todos os clientes, incluindo aqueles sem pedidos, e as informações do pedido serão valor nulo.

junção externa direita:

SELECT *
FROM customer
RIGHT OUTER JOIN orders ON customer.id = orders.customer_id;

Esta consulta retornará todos os pedidos, incluindo pedidos feitos por clientes que não existem na tabela do cliente, e as informações do cliente serão um valor nulo.

junção externa completa:

SELECT *
FROM customer
FULL OUTER JOIN orders ON customer.id = orders.customer_id;

Esta consulta retornará todos os clientes e todos os pedidos, preenchendo correspondências ausentes com valores nulos.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3