/ / MySQL JOIN: descrição, exemplo de uso do comando e recomendações

MySQL JOIN: descrição, exemplo de uso do comando e recomendações

Desenvolvimento de bases de dados de recursos da Internetpraticamente não difere dos bancos de dados padrão desenvolvidos no sistema MS SQL SERVER. Via de regra, a linguagem MY SQL é usada para esses recursos, embora também possa ser aplicada ao desenvolvimento de produtos de software padrão para uso local. Mas este artigo não é sobre isso.

mysql join

Freqüentemente, ao trabalhar com bancos de dados em cada um doslinguagens, a tarefa é fazer uma amostra de dados para saída em uma variedade de relatórios, gráficos e assim por diante. Como regra, ao implementar tais tarefas, você deve usar não uma, mas várias tabelas, combinando-as em uma consulta, complicando significativamente o seu design. Neste caso, é necessário levar em consideração como os dados serão exibidos, como as tabelas serão "puxadas" e qual o resultado mais aceitável para o programador. Uma das construções padrão da linguagem MySQL, Join, é usada para resolver esses problemas.

O conceito da palavra Join

Linguagens de desenvolvimento de banco de dados, não importa o queeste é o idioma, as palavras padrão dos dicionários da língua inglesa são tomadas como base (por isso, desde que você saiba inglês, será muito mais fácil trabalhar com tabelas). Para implementar a conexão de tabelas na seleção, a mesma palavra é usada - Junte-se. Na linguagem de programação de banco de dados, o My SQL é usado. A tradução desta palavra de serviço é exatamente a mesma que no próprio idioma - “união”.

Interpretação da construção do MySQL - Junte-se equalquer um deles será exatamente o mesmo. Se decifrarmos o propósito da estrutura, ou seja, o esquema de seu funcionamento, obteremos o seguinte significado: as estruturas permitirão coletar os campos necessários de diferentes tabelas ou consultas aninhadas em uma seleção.

Tipos de estruturas para combinar

mysql join

Se um programador precisa coletar uma amostra devárias tabelas e ele sabe quais campos-chave estão nelas e que tipo de dados são necessários para o relatório, então você pode usar uma das construções básicas de junção para obter o resultado desejado. Existem quatro construções básicas (para unir mesas):

  1. Junção interna.
  2. Cross Join.
  3. Associação à esquerda.
  4. Junte-se à direita.

Dependendo da tarefa em mãos, cada um dos designs padrão fornecerá resultados diferentes, o que permitirá que você receba relatórios sobre parâmetros diferentes em um curto espaço de tempo.

Criação e preenchimento de tabelas para uso posterior

Antes de começar, por exemplo, consideremecanismos para trabalhar com construções de união de dados, vale a pena preparar várias tabelas com as quais trabalharemos no futuro. Isso ajudará a mostrar visualmente todos os princípios de funcionamento dos operadores, além disso, desta forma, será mais fácil para os iniciantes aprenderem todos os fundamentos das tabelas de programação.

A primeira tabela descreverá alguns dos objetos que uma pessoa encontra constantemente ao longo de sua vida.

mysql join

Na segunda tabela, descreveremos algumas das propriedades dos objetos da primeira tabela para que você possa trabalhar com eles no futuro.

deixou entrar no mysql

Em geral, duas tabelas serão suficientes para ilustrar seu trabalho com um exemplo. Agora você pode começar um exame prático de nossos projetos.

Usando Inner Join

Ao usar a construção MySQL - Join Ineervale a pena considerar alguns de seus recursos. Esse design permitirá que você selecione de ambas as tabelas apenas os registros que estão na primeira e na segunda tabelas. Como funciona? Na primeira tabela, temos uma chave mestra - ID, que indica o número ordinal de registros na tabela.

Ao criar uma segunda tabela, a mesma chaveé usado como um número de série, um exemplo pode ser visto nas figuras. Ao selecionar dados, a instrução Select determinará como resultado apenas aqueles registros cujos números de sequência coincidem, o que significa que eles estão na primeira e na segunda tabela.

Ao usar a construção, você precisa entenderque tipo de dados você precisa obter. O erro mais comum, especialmente para um programador de banco de dados novato, é o uso irracional e incorreto da construção Inner Join. Como exemplo, MySQL Inner Join, você pode considerar um script que nos retornará das tabelas previamente descritas e preenchidas informações sobre objetos e suas propriedades. Mas aqui também pode haver várias maneiras de usar a estrutura. Nesse sentido, My SQL é uma linguagem muito flexível. Portanto, você pode ver exemplos de como usar o MySQL Inner Join.

Concatenação de tabelas sem especificar nenhum parâmetro. Nesse caso, obteremos o resultado de tal plano:

mysql inner join

Se indicarmos através da palavra de serviço Usando queé imperativo levar em consideração as chaves mestras dos registros nas tabelas, então o resultado da seleção mudará drasticamente. Neste caso, obteremos uma seleção que retornará apenas as linhas que possuem as mesmas chaves mestras.

exemplos de junção mysql

Um terceiro caso de uso também é possível.construções, quando na consulta através da palavra "on" são indicados os campos pelos quais as tabelas devem ser unidas. Nesse caso, a seleção retornará os seguintes dados:

mysql join select

Recursos do uso do Left Join

Se você considerar outra maneira de unir tabelas usando a construção MySQL - Join, poderá notar a diferença nos dados que são exibidos. A construção da esquerda é esse mecanismo.

Usar a construção Left Join MySQL tem algumas peculiaridades e, como o Inner, requer um entendimento claro do resultado que precisa ser obtido.

Nesse caso, todos os registros serão selecionados primeiro.da primeira tabela e os registros posteriores da segunda tabela de propriedades serão anexados a eles. Além disso, se a primeira tabela contiver um registro, por exemplo, "banquinho", e a segunda tabela não tiver uma única propriedade para ela, o operador Esquerda exibirá nulo na frente desse registro, que informa ao programador que há sem sinais para este tipo de objeto ...

O uso desse design permitirá que você determine quais campos ou, por exemplo, produtos na loja não têm preço, o período de garantia e assim por diante.

Exemplo de uso da esquerda

Para ser considerado na prática pelo operadorAs construções do MySQL Left Join usam as tabelas descritas anteriormente. Por exemplo, você precisa selecionar toda a lista de produtos que estão na loja e verificar em quais deles não há placas ou propriedades. Neste caso, a seleção exibirá todos os produtos, e serão definidos valores vazios para aqueles que não possuem uma propriedade.

mysql update join

Usando Where em uma cláusula Join

Como parâmetro, uma junção pode incluir não apenas a especificação dos campos pelos quais as tabelas serão conectadas, mas também pode incluir um operador de cláusula Where.

Por exemplo, considere um script que devepara nos devolver apenas os registros para os quais o sinal não está afixado. Nesse caso, você precisa adicionar um operador de condição à construção de Junção e especificar o que exatamente precisa ser retornado como resultado.

Ao usar Join - Where no MySQL, você precisa entender claramente que apenas os registros serão mostrados aos quais a condição especificada se aplica e, em seguida, a seleção será semelhante a esta:

mysql junte-se a onde

Essas consultas permitem que você faça seleções pordados específicos que se relacionam com a condição selecionada pelo programador. Você pode especificar várias dessas condições, enquanto maximiza os parâmetros para selecionar dados das tabelas combinadas.

Usando Join para modificar dados em tabelas

A construção Join é essencialmente universal.Ele permite que você não apenas faça uma variedade de seleções, mas também inclua em consultas de uma a várias tabelas, para inserir condições adicionais na seleção. A construção também pode ser usada para outras operações de dados. Por exemplo, Join pode ser usado para modificar dados em uma tabela. Em vez disso, para esclarecer as condições em uma tabela ou nos casos em que você precisa atualizar os dados em várias tabelas para as mesmas condições.

Por exemplo, considere o seguinte problema.Existem três tabelas que contêm alguns dados. Você precisa alterar os dados em ambas as tabelas usando uma consulta. Apenas para resolver esse tipo de tarefa, você pode usar a construção Join no comando Update. O próprio tipo de construção de Join depende, como no caso da amostragem de dados, do resultado que o programador deseja obter.

Vejamos o exemplo mais simples.É necessário atualizar os dados para as mesmas condições com uma solicitação. Consultas desse tipo são construídas para otimizar o trabalho com o banco de dados. Por que escrever consultas diferentes para cada uma das tabelas quando você pode fazer toda a manipulação de dados com uma consulta? Um exemplo de MySQL Update Join em nosso caso será assim:

exemplos de junção à esquerda do mysql

Criação de consultas complexas

Muitas vezes ao trabalhar com um banco de dadosé necessário construir consultas não apenas juntando várias tabelas, mas também usando subconsultas. Essas tarefas são bastante difíceis para um programador de banco de dados novato entender. A dificuldade está no fato de que você tem que pensar em cada etapa, determinar quais dados de qual tabela ou consulta você precisa obter e como você precisará trabalhar com eles no futuro.

Para um entendimento mais específico, você pode considerar(no MySQL Join) exemplos de consultas complexas. Se você é um iniciante e está apenas começando a trabalhar com bancos de dados, este treinamento será benéfico. A opção ideal seria os exemplos do MySQL Left Join.

deixou entrar no mysql

Esta solicitação retornará 58 registros de contrato para nósvendas para as quais um saldo de caixa foi preenchido ou existe na data selecionada. Neste caso, esta é a data atual. Além disso, foi adicionada uma condição à seleção de que o nome do contrato deve conter símbolos - "123". As informações (dados) exibidas na tela serão classificadas - ordenadas pelo número do contrato.

O exemplo a seguir exibirá dados sobre todos os pagamentos, nos quais o número do contrato será indicado.

mysql join

Usando subconsultas

Conforme mencionado anteriormente, ao trabalhar com bancos de dadosdados, você pode combinar não apenas tabelas, mas também uma tabela com uma consulta. Esse design é usado principalmente para acelerar a consulta e otimizá-la.

Por exemplo, se necessário de uma mesa quetem várias centenas de campos e, digamos, mil registros, selecione apenas dois campos, então você deve usar uma consulta que retornará apenas os campos obrigatórios e combiná-la com o conjunto de dados principal. Como um exemplo de MySQL Join Select, você pode considerar uma consulta deste tipo:

mysql join

Essas não são todas formas de usar o padrãoConstruções MySQL, mas apenas as padrão. Como usar a construção do Join e em que formas cabe ao próprio programador, mas vale lembrar e levar em consideração qual resultado deve ser obtido ao executar uma consulta.