Diferenças entre esquerda e direita se juntam Diferença entre

Anonim

Left vs Right Join

Ao lidar com SQL, junções é um nome comum que aparecerá de vez em quando. A cláusula join ajuda na combinação de registros de diferentes tabelas em um conjunto de dados. A junção efetiva cria uma tabela que pode ser usada como está ou rolada com outras pessoas. Portanto, é aconselhável entender essas uniões e as diferenças entre elas, de modo a conhecer a união específica, e se a direita ou esquerda deve ser tomada em instâncias especiais.

Para entender as uniões melhores e suas diferenças, é importante entender os tipos de junções disponíveis. Geralmente, existem três tipos de associações. Estas juntas incluem a junção interna, a união cruzada e a junção externa. A junção interna geralmente compara as tabelas e apenas dará ou retornará um resultado no caso de uma partida ser encontrada. A função principal de uma junção interna é reduzir o tamanho dos conjuntos de resultados.

As juntas cruzadas, por outro lado, comparam duas tabelas e dão um retorno de cada combinação possível proveniente das linhas de ambas as tabelas. Numerosos resultados são esperados desta união e a maioria deles pode até não ser significativa. O uso desta união deve, portanto, ser praticado com cautela.

A associação externa faz uma comparação de tabelas e retorna dados quando uma partida está disponível. Assim como é visto na junção interna, a junção externa duplica as linhas em uma determinada tabela no caso de registros correspondentes serem vistos. Os resultados das junções externas são normalmente maiores e, portanto, os conjuntos de dados são grandes porque o conjunto em si não é removido do conjunto.

Uma associação à esquerda refere-se a manter todos os registros da 1ª tabela independentemente do resultado e a inserção de valores NULL quando os valores da segunda tabela não coincidem. Uma associação direta, por outro lado, refere-se a manter todos os registros provenientes da 2ª tabela independentemente do resultado e o uso de valores NULL quando os resultados não coincidem com os da 1ª tabela.

Uma junção externa esquerda, portanto, retém todas as linhas que estão na tabela 'esquerda' independentemente de haver uma linha correspondente na tabela 'direita'. A tabela da esquerda, portanto, refere-se à tabela que vem primeiro na declaração conjunta. Deve aparecer à esquerda da palavra-chave 'join' que ocorre na tabela. Quando uma junção externa esquerda é feita, todas as linhas da esquerda devem ser retornadas. As colunas não correspondentes na tabela serão preenchidas com um NULL sempre que não houver correspondência.

É importante notar que ao lidar com essas duas junções, todas as linhas da esquerda da tabela são mostradas na tabela em uma junção externa esquerda. Os resultados se exibem independentemente de quaisquer colunas correspondentes estarem presentes na tabela certa.Em uma junção externa direita, todas as linhas da direita são mostradas e isso é independente de haver colunas correspondentes no lado esquerdo da tabela.

A escolha de ir para a junção externa esquerda ou a junção externa direita não importa, pois os mesmos resultados são mostrados. A funcionalidade que uma junção externa direita apresenta é a mesma funcionalidade que a junção externa esquerda apresenta. Simplesmente alterando a ordem em que as tabelas aparecem na instrução SQL, você pode esperar resultados semelhantes, independentemente da união usada.

Resumo

As juntas vêm em três grupos principais - junção interna, junção cruzada e junção externa

Uma junção externa esquerda exibe todas as linhas da esquerda da tabela

Uma associação direita exibe todas as linhas do direito da tabela

Alternar a seqüência SQL pode eliminar o uso de associações externas direita e esquerda e, em vez disso, use apenas uma.