MariaDB JOIN: Combinar registros de diferentes tabelas
Em um sistema de gerenciamento de banco de dados relacional, os registros de tabelas podem ser comparados. Isso permite estabelecer conexões e extrair valores correspondentes de duas tabelas ou mais tabelas. No MariaDB, o JOIN
realiza essa tarefa. Ele é aplicado em combinação com o SELECT
e pode ser usado de diferentes maneiras, como INNER JOIN
, LEFT OUTER JOIN
e RIGHT OUTER JOIN
.
Sintaxe e Funcionamento do MariaDB JOIN
Para que você tenha uma visão geral dos diferentes MariaDB JOIN
, mostramos primeiro a sintaxe básica do comando. O INNER JOIN
apresenta a seguinte sintaxe:
Com o SELECT
, você seleciona a coluna (ou colunas) que você deseja visualizar. Em vez de “tabela_1”, você insere a primeira tabela e, em vez de “tabela_2”, a segunda tabela, que você deseja combinar com a primeira. O INNER JOIN
compara todas as linhas da primeira tabela com todas as linhas da segunda tabela. Os registros que correspondem (ou seja, estão presentes em ambas as tabelas) são então exibidos juntos em uma tabela de resultados. Registros que não se combinam entre as tabelas não serão considerados.
Exemplo do MariaDB INNER JOIN
Para ilustrar como o INNER JOIN
funciona no MariaDB, escolhemos um exemplo simples. Vamos supor que, em um banco de dados, existem duas tabelas. A primeira tabela se chama “Clientes” e a segunda “Pedidos”. Criamos a tabela “Clientes” com MariaDB CREATE TABLE
. Ela contém as colunas “ID_Cliente”, “Sobrenome”, “Nome”, “Cidade” e “Data_Cadastro”. O código é o seguinte:
Agora, vamos inserir alguns registros na tabela usando o comando INSERT INTO
:
Em seguida, criamos a tabela “Pedidos”. Ela contém as colunas “ID_Pedido”, “ID_Produto”, “Nome_Cliente” e “Data_Pedido”. O código é o seguinte:
Vamos preencher essa tabela com alguns valores de exemplo:
Utilizamos, no MariaDB, o INNER JOIN
para filtrar os clientes que aparecem na tabela “Clientes” e que fizeram um pedido listado na tabela “Pedidos”. O código correspondente é:
Aqui, focamos no sobrenome da tabela Clientes e no sobrenome do cliente na tabela Pedidos. Se esses valores coincidirem, eles são incluídos no resultado. Como os clientes Oliveira e Santos aparecem em ambas as tabelas, a saída correspondente seria:
ID_Cliente | Sobrenome | ID_Pedido | ID_Produto |
---|---|---|---|
3 | Oliveira | 102 | 332 |
2 | Santos | 104 | 191 |
LEFT OUTER JOIN
Outro tipo de comando MariaDB JOIN
é o LEFT OUTER JOIN
. Esse funciona de maneira semelhante e utiliza uma sintaxe quase idêntica. No entanto, ao contrário do INNER JOIN
, todos os registros da primeira tabela (no exemplo, “Clientes”) são exibidos e apenas os registros correspondentes da segunda tabela (“Pedidos”). Se não houver correspondência na segunda tabela, o valor correspondente será indicado como NULL. Para o nosso exemplo acima, o comando ficaria assim:
Com isso, obtemos o seguinte resultado:
Sobrenome | ID_Produto |
---|---|
Silva | NULL |
Santos | 191 |
Oliveira | 332 |
Souza | NULL |
Costa | NULL |
RIGHT OUTER JOIN
O RIGHT OUTER JOIN
no MariaDB funciona de maneira oposta. Neste caso, todos os registros da segunda tabela são mantidos e combinados com os valores correspondentes da primeira tabela. Se não houver correspondência, o valor será NULL. Aqui está o código:
A saída seria:
Sobrenome | ID_Produto |
---|---|
NULL | 247 |
Oliveira | 332 |
NULL | 247 |
Santos | 191 |
NULL | 499 |
No nosso Digital Guide, você encontrará muitas orientações e explicações úteis sobre o MariaDB. Por exemplo, uma comparação entre MariaDB e MySQL e tudo sobre a instalação do MariaDB. Além disso, você também pode aprender como resetar a senha root no MariaDB.