Combinar informações de várias tabelas mysql com junte

Você pode usar um JUNTE-SE

SELECIONAR consultar para combinar informações de mais de uma tabela MySQL. Com JOIN, as tabelas são combinados lado a lado, e a informação é recuperada a partir de ambas as tabelas.

As tabelas são combinados, combinando dados em uma coluna - a coluna que eles têm em comum. A tabela de resultados combinados produzidos por uma junção contém todas as colunas de ambas as tabelas. Por exemplo, se tabela 1 tem duas colunas (memberID e altura), E mesa 2 tem duas colunas (memberID e peso), Uma junção resulta em uma mesa com quatro colunas: memberID (por tabela 1), altura, memberID (por mesa 2), E peso.

Os dois tipos mais comuns de junta são uma junção interna e um junção externa. A diferença entre um interior e exterior junção é do número de linhas incluídas na tabela de resultados.

  • Junção interna: A tabela de resultados produzido por uma junção interna contém apenas as linhas que existiam em ambas as tabelas.

  • Junção externa: A mesa combinada produzido por uma associação externa contém todas as linhas que existiam em uma tabela com espaços em branco nas colunas para as filas que não existem na segunda tabela.

Por exemplo, se tabela 1 contém uma linha para Joe e uma linha para Sally, e mesa 2 contém apenas uma linha para Sally, uma junção interna conteria apenas uma linha: a linha para Sally. No entanto, uma junção externa deverá conter duas linhas - uma linha para Joe e uma linha para Sally - embora a linha de Joe teria um campo em branco para peso.

A tabela de resultados para a junção externa contém todas as linhas de uma tabela. Se qualquer uma das linhas para que a tabela não existem na segunda tabela, as colunas para a segunda tabela estão vazios. Claramente, o conteúdo da tabela de resultados são determinados pela qual tabela contribui todas as suas linhas, exigindo a segunda tabela para combiná-lo.

Dois tipos de associações externas controle de qual tabela define as linhas e que deve corresponder: a LEFT JOIN e uma RIGHT JOIN.

Video: Excel 2016 - Tabela Dinâmica Utilizando Várias Tabelas

Você usa diferentes SELECIONAR consultas para uma junção interna e os dois tipos de junções externas. A consulta a seguir é uma junção interna:

columnnamelist SELECT FROM table1, table2WHERE Table1.col2 = table2.col2

E essas consultas são junta exterior:

columnnamelist SELECT FROM table1 LEFT JOIN table2ON table1.col1 = table2.col2SELECT columnnamelist da direita table1 Cadastre table2ON table1.col1 = table2.col2

Em todas as três consultas, tabela 1 e mesa 2 são as tabelas a serem unidas. Você pode juntar-se mais de duas tabelas. Em ambas as consultas, col1 e col2 estamos os nomes das colunas que estão sendo combinados para unir as tabelas. As tabelas são combinados com base nos dados nessas colunas. Estas duas colunas podem ter o mesmo nome ou nomes diferentes, mas eles devem conter o mesmo tipo de dados.

Como um exemplo de interior e exterior junta, considere um catálogo de roupa com duas mesas. Uma tabela é produtos, com as duas colunas Nome e Tipo segurando os seguintes dados:

Nome TypeT da camisa do shirtdress ShirtJeans Pants

A segunda tabela é Cor, com duas colunas Nome e Cor segurando os seguintes dados:

Nome ColorT-shirt whiteT-shirt redLoaferblack


Você precisa fazer uma pergunta que requer informações de ambas as tabelas. Se você fizer uma junção interna com a seguinte consulta:

* SELECT FROM produto, a cor ONDE Product.Name = Color.Name

você obter a tabela de resultados seguintes com quatro colunas: Nome (por produtos), Tipo, Nome (por Cor), E Cor.

Nome TypeName ColorT-shirt shirt T-shirt whiteT-shirt shirt T-shirt vermelho

Observe que somente camiseta aparece na tabela de resultados - porque só camiseta estava em ambas as tabelas originais, antes da junção. Por outro lado, suponha que você faz uma junção externa esquerda com a seguinte consulta:

SELECT * DA ESQUERDA DE PRODUTOS PARTICIPAR Coloron produtos. Name = Color. Nome

Você fica com a seguinte tabela de resultados, com os mesmos quatro colunas - Nome (por produtos), Tipo, Nome (por Cor), E Cor - mas com diferentes linhas:

Nome TypeName ColorT-shirt shirt T-shirt whiteT-shirt shirt T-shirt camisa redDress shirt Calça Jeans 

Esta tabela tem quatro linhas. Ele tem os mesmos dois primeiros linhas como a junção interna, mas tem duas linhas adicionais - linhas que estão no produtos tabela à esquerda, mas não na Cor mesa. Observe que as colunas da tabela Cor estão em branco para as duas últimas linhas.

Video: 22 - T-SQL - JOINS e INNER JOIN - Selecionar dados de duas ou mais tabelas - SQL Server

E, no terceiro lado, suponha que você faça uma junção externa direita com a seguinte consulta:

* SELECT FROM produto certo Cadastre Coloron Product.petName = Color. Nome

Você fica com a seguinte tabela de resultados, com os mesmos quatro colunas, mas com ainda diferentes linhas:

Video: Unir juntar mesclar agrupar texto célula linha coluna Excel Função Concatenar Formatar Classificar

petname petType petname petColorT-shirt shirt T-shirt whiteT-shirt shirt T-shirt vermelhomocassins preto

Note-se que estes resultados contêm todas as linhas para o Cor tabela à direita, mas não para o produtos mesa. Observe os espaços vazios nas colunas para a produtos tabela, que não tem uma linha para sapatos de viagem.

Às vezes é útil para descobrir quais linhas de uma tabela não têm entradas correspondentes em outra tabela. Por exemplo, suponha que você quer saber que nunca tenha conectado para única seção seus membros. Suponha que você tenha uma tabela com o nome de login do membro (Membro) E outra tabela com as datas de login (Entrar).

Você pode fazer esta pergunta, selecionando a partir das duas tabelas. Você pode descobrir quais nomes de login não tem uma entrada no Entrar mesa com a seguinte consulta:

Video: Curso MySQL #16 INNER JOIN com várias tabelas

loginName SELECT FROM Membro LEFT JOIN LoginON Member.loginName = Login.loginNameWHERE Login.loginName IS NULL

Esta consulta dá-lhe uma lista de todos os nomes de login do Membro tabela que não estão na Entrar mesa.


Publicações relacionadas