Nesse post iremos abordar diferentes recursos do SQL que permitem a manipulação avançada de dados em um banco de dados relacional.
Código
JOIN
INNER JOIN
Esta consulta utiliza INNER JOIN
para combinar linhas de tb_fornecedor
com linhas de tb_cidade
onde os IDs das cidades coincidem, retornando fornecedor e cidade correspondentes.
- Resultado
LEFT JOIN
Utiliza um LEFT JOIN
para selecionar todos os registros da tabela à esquerda (tb_fornecedor
) juntamente com os registros correspondentes da tabela à direita (tb_cidade
). Se não houver correspondência, o resultado para a tabela à direita será NULL.
- Resultado
RIGHT JOIN
Executa um RIGHT JOIN
, escolhendo todos os registros da tabela à direita (tb_categoria
) e os registros correspondentes da tabela à esquerda (tb_produto
). Se não houver correspondência, o resultado para a tabela à esquerda será NULL.
- Resultado
Union
Combina os resultados de duas consultas sem duplicatas, graças ao operador UNION
, e os ordena pelo id_cidade
.
- Resultado
UNION ALL
Utiliza UNION ALL
para combinar os resultados de duas consultas, incluindo duplicatas.
- Resultado
Simulando FULL OUTER JOIN com UNION
Combina LEFT JOIN
e RIGHT JOIN
com UNION ALL
para simular um FULL OUTER JOIN
, unindo dados de duas tabelas independentemente de correspondências diretas entre elas.
- Resultado
Criação de Views
Define uma View
chamada viewCidade
para simplificar e organizar a consulta de dados relacionados entre fornecedores e cidades, e em seguida realiza uma seleção a partir dessa view.
- Resultado
PROCEDURE
Cria uma PROCEDURE
chamada verValor
que, quando chamada, retorna o valor de um produto baseado em seu ID.
- Resultado
TRIGGER
Adiciona uma coluna Preco_desconto
à tabela tb_produto
e define um TRIGGER
chamado tr_desconto
, que automaticamente calcula um desconto antes de cada inserção de novos registros na tabela.
- Resultado
Conclusão
A utilização de JOIN, UNION, Views, Procedures e Triggers no SQL oferece uma gama robusta de ferramentas, permitindo a realização de consultas complexas, a manipulação eficiente de dados e a automatização de tarefas.