Software  
 
Rede de conhecimento computador >> Software >> SQL Server >> Content
Como você se junta a duas tabelas no MySQL?
Você se junta a duas tabelas no MySQL usando a cláusula `junção` em uma instrução` select`. Existem vários tipos de junções, cada um com um comportamento ligeiramente diferente:

1. `Interno junção` (mais comum):

Retorna linhas apenas quando houver uma correspondência nas duas tabelas com base na condição de junção. Se não houver correspondência na tabela, a linha será excluída do resultado.

`` `SQL
Selecione Column_Names
Da Tabela 1
JONE INNER Tabela 2 na tabela1.column_name =tabela2.column_name;
`` `

* `tabela1` e` tabela2`:as tabelas que você deseja participar.
* `column_name`:as colunas usadas para combinar linhas entre as tabelas. Essas colunas devem ter tipos de dados compatíveis.


Exemplo:

Digamos que você tenha duas mesas:

* `clientes`: `CustomerId`,` name`, `City`
* `ordens`: `OrderId`,` CustomerId`, `OrderDate`,` TotalAmount '

Para obter o nome do cliente e os detalhes do pedido para todos os pedidos:

`` `SQL
Selecione clientes.name, orders.orderid, orders.orderdate, orders.totalamount
De clientes
Ordens de junção interna em clientes.customerId =orders.customerId;
`` `

Isso retornará apenas clientes que fizeram pedidos e pedidos que pertencem aos clientes existentes.


2. `Esquerda junção` (ou` junta externa esquerda`):

Retorna todas as linhas da tabela esquerda (`Tabela1`), mesmo que não haja correspondência na tabela direita (` tabela2`). Se não houver correspondência na tabela certa, as colunas da tabela certa terão valores `null '.

`` `SQL
Selecione Column_Names
Da Tabela 1
Junção esquerda Tabela 2 na tabela1.column_name =tabela2.column_name;
`` `

Exemplo: Para obter todos os clientes e seus pedidos (incluindo clientes sem pedidos):

`` `SQL
Selecione clientes.name, orders.orderid, orders.orderdate, orders.totalamount
De clientes
Pedidos de junção de esquerda em clientes.customerId =orders.customerId;
`` `


3. `Junção direita` (ou` junta externa direita`):

Retorna todas as linhas da tabela direita (`Tabela2`), mesmo que não haja correspondência na tabela esquerda (` Tabela1`). Se não houver correspondência na tabela esquerda, as colunas da tabela esquerda terão valores `null '.

`` `SQL
Selecione Column_Names
Da Tabela 1
Junção direita Tabela 2 na tabela1.column_name =tabela2.column_name;
`` `

Exemplo: (Menos comum, mas útil em cenários específicos) Isso é funcionalmente equivalente a uma `junta à esquerda 'com as tabelas trocadas.


4. `Junção externa completa`:

Retorna todas as linhas de ambas as tabelas. Se houver uma partida, a linha correspondente será retornada. Se não houver correspondência em uma tabela, as colunas da outra tabela terão valores `null '. mysql não suporta diretamente `junto externo completo` . Você precisa simulá -lo usando `união 'de` `esquerda junção` e` junção direita'.

`` `SQL
Selecione Column_Names
Da Tabela 1
Junção esquerda Tabela 2 na tabela1.column_name =tabela2.column_name
UNIÃO
Selecione Column_Names
Da Tabela 1
Junção direita Tabela 2 na tabela1.column_name =tabela2.column_name;
`` `

Escolhendo a junção correta:

A escolha do tipo de junção depende de quais dados você precisa. `Inner Junção` é a opção mais frequente, mas a` `esquerda junção` e` junção direita 'são cruciais quando você precisa preservar todas as linhas de uma das tabelas. Simular `junção externa completa 'quando precisar de todas as linhas de ambas as tabelas. Lembre -se de usar aliases (`tabela1`,` tabela2`) para obter clareza e evitar a ambiguidade quando os nomes das colunas são iguais nas duas tabelas.

Anterior :

Próximo :
  Os artigos relacionados
·Como exportar do SQL para um banco de dados XML 
·Como configurar um SQL Server 2008 para Discussão remo…
·Como instalar um SQL Server Desktop Engine Microsoft 
·Posso obter uma certificação SQL online? 
·Como configurar o SQL Server Express GUI ferramenta de …
·Como desativar o Microsoft SQL Server 
·Quantas versões do SQL padrão houve? 
·SQL Server 2008 Requisitos de memória 
·Como restaurar um banco de dados SQL Server com o Enter…
·Como mudar o nome do SQL Server 2008 
  Artigos em destaque
·Como usar uma língua estrangeira no Microsoft Word 
·Como imprimir um documento Adobe Secured 
·Como girar um vídeo MP4 
·Como Aprender Digital Scrapbooking Usando o Adobe Photo…
·Como fazer um Scrapbook computador usando PowerPoint 
·Como gravar com Media Player 
·Como inserir um símbolo Euro 
·Como publicar um DWG para PDF 
·As Partes do WordPad 
·Onde posso encontrar o software de contribuição da ig…
Cop e direita © Rede de conhecimento computador https://ptcomputador.com Todos os Direitos Reservados