JUNÇÃO INTERNA
Juntar tabelas
Em bancos de dados relacionais, os dados são frequentemente organizados em várias tabelas para minimizar a redundância e melhorar a integridade dos dados. Essa abordagem de design, conhecida como normalização, evita repetir as mesmas informações em lugares diferentes. No entanto, isso significa que as informações úteis geralmente são espalhadas por várias tabelas.
As junções são operações SQL essenciais que preenchem essa lacuna, permitindo que você combine linhas de duas ou mais tabelas e recupere dados relacionados em um único conjunto de resultados unificado. Em essência, as junções permitem que você consulte informações que estão logicamente conectadas, mas fisicamente separadas. Eles conseguem essa combinação identificando e combinando linhas com base em valores encontrados em uma ou mais colunas comuns entre as tabelas. Essas colunas comuns geralmente servem como o link entre uma chave primária em uma tabela e uma chave estrangeira em outra, estabelecendo as relações definidas no esquema do banco de dados.
Nota: Uma chave primária é um identificador exclusivo para cada registro em uma tabela, garantindo que nenhuma linha tenha o mesmo valor nesta coluna. Uma chave estrangeira, por outro lado, é uma coluna em uma tabela que faz referência à chave primária em outra tabela, ligando assim as duas tabelas.
Existem vários "tipos" de joins (INNER
, LEFT
, RIGHT
, FULL OUTER
, NATURAL
), cada um concebido para combinar tabelas de formas ligeiramente diferentes. Eles fornecem controle sobre quais linhas são incluídas no conjunto de resultados com base na presença ou ausência de valores correspondentes nas tabelas associadas.
JUNÇÃO INTERNA
An INNER JOIN
é um dos tipos mais usados de junções SQL. Ele combina linhas de várias tabelas com base em uma condição que especifica valores correspondentes em uma coluna compartilhada.
Ao executar um INNER JOIN
, somente as linhas que satisfazem a condição de ambas as tabelas são incluídas no conjunto de resultados, filtrando efetivamente quaisquer dados incomparáveis. Isto torna INNER JOIN
ideal para recuperar informações relacionadas onde as conexões entre tabelas são explicitamente definidas, como pedidos de clientes ou atribuições de funcionários.
SELECT orders.order_id, customers.customer_name, employees.first_name, employees.last_name
FROM sales.orders AS orders
INNER JOIN sales.customers AS customers ON orders.customer_id = customers.customer_id
INNER JOIN sales.employees AS employees ON orders.employee_id = employees.employee_id;
A consulta fornecida emprega várias INNER JOIN
operações para recuperar um conjunto de resultados unificado contendo detalhes sobre orders
, customers
e employees
.
Ele faz corresponder o customer_id
na tabela orders
com o correspondente customer_id
na tabela customers
, e o employee_id
na tabela orders
com o employee_id
na tabela employees
. Como resultado, a consulta gera o ID de cada pedido junto com os nomes do cliente e do funcionário envolvido.