Não existe uma afirmação como a união externa completa no SQL, mas podemos usar uma união simples para obter os mesmos resultados ou simplesmente usar uma instrução SELECT em duas tabelas diferentes.
Caso contrário, MySQL fornece ASSOCIAÇÃO À ESQUERDA e Junção direita Para obter os registros ou linhas da tabela direita ou esquerda, respectivamente. Vamos tentar alguns exemplos diferentes para obter os resultados desejados usando junções apropriadas.
Exemplos
Antes de começarmos a aprender o uso da junção esquerda e direita. Aprenderemos como obter todos os dados de ambas. Primeiro, vamos tentar obter todos os dados de ambas as tabelas usando a instrução SELECT.
Por exemplo, existem 2 tabelas que obtemos com o nome do autor e dos livros.
Livros DESC; Autores DESC;Se queremos obter todas as colunas de ambas as mesas. A consulta selecionada será usada assim:
Selecione * de livros, autores;Como você pode ver, temos todas as colunas de ambas as tabelas sem nem mesmo fornecer uma condição.
Se usarmos a cláusula de junção ou cross junção, ambos nos trarão os mesmos resultados. Por exemplo:
Selecione * FROM LIVROS Junte -se aos autores;Agora, vamos tentar aplicar a junta cruzada:
Selecione * FRO LIVROS AUTORES CROSTOS JONE;Como você pode testemunhar, todas essas consultas estão nos trazendo os mesmos resultados.
No entanto, não é bom ter todas as colunas de uma forma tão abstrata. Portanto, para obter algumas colunas específicas da mesa esquerda ou direita, há duas maneiras pelas quais você pode prosseguir; Uma maneira é que você usa nomes de colunas usando instruções selecionadas ou usando junções que se encaixem em seu requisito.
Tudo bem, agora vamos avançar para entender a junção esquerda e a junção direita.
ASSOCIAÇÃO À ESQUERDA
Suponha que queremos obter algumas colunas específicas da tabela de livros ou comuns entre os livros e os autores, com base em alguma condição, a condição é realmente fornecida comparando duas tabelas diferentes. Por exemplo, queremos entrar em duas tabelas, livros e autores onde o ID do livro é igual ao ID do autor. Podemos esperar esse resultado usando a partida à esquerda com a instrução SELECT; Selecione Consulta com os nomes das colunas que você deseja obter da tabela de livros ou autores. A consulta selecionada com a junção esquerda e a condição seria assim:
Selecione livros.book_name, livros.book_id, autores.autor_id,Como mencionamos a tabela de livros no lado esquerdo, a junção receberá o ID de uma linha da tabela de livros e procurará o mesmo número de identificação na tabela do autor. Se encontrar o mesmo número de identificação, também mostrará as colunas dadas da tabela do autor. Caso contrário, ele mostrará nulo nas colunas da tabela do autor. Vamos executar esta consulta e testemunhar os resultados.
Como você pode ver, temos as linhas de ambas as tabelas onde o ID da tabela de livros é igual ao ID da tabela do autor. Na última fila, também podemos ver que não há ID Número 4 na tabela do autor, por isso retornou nulo.
Junção direita
Da mesma forma, se queremos obter alguns dados, da tabela do autor ou comuns entre os livros e a tabela do autor, com base em algumas condições, esse tipo de resultado pode ser esperado usando a cláusula de junção e seleção correta de junção e seleção. A consulta selecionada com a junção e a condição certa seria assim:
Selecione livros.book_name, livros.book_id, autores.autor_id,Desta vez, sabemos que a tabela dos autores está do lado direito, então a junção receberá o ID de uma linha da tabela do autor e procure o mesmo número de identificação na tabela do livro. Se encontrar o mesmo número de identificação, mostrará as colunas dadas da tabela de livros. A execução da consulta resultaria nisso:
Como você pode ver, temos as linhas de ambas as tabelas onde o ID do autor é igual ao ID do livro. Sabemos que houve um quarto livro na tabela de livros, embora não tenhamos conseguido, isso é por causa da junção certa.
Então, é assim que a junta à esquerda e a junção correta realmente funciona.
Conclusão
Aprendemos e entendemos a cruz, a esquerda e a junção direita, bem como aprendemos a usá -los para obter os resultados desejados em MySQL. Também tentamos alguns exemplos diferentes de junções para entender os conceitos de uma maneira melhor e profunda.