JUNÇÃO INTERNA
Unir tabelas
Em bancos de dados relacionais, os dados são frequentemente organizados em várias tabelas para minimizar a redundância e aprimorar a integridade dos dados. Essa abordagem de design, conhecida como normalização, evita repetir as mesmas informações em locais diferentes. No entanto, isso significa que informações úteis geralmente são distribuídas entre várias tabelas.
As junções são operações SQL essenciais que fazem a ponte entre 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 obtêm essa combinação identificando e combinando linhas com base nos valores encontrados em uma ou mais colunas comuns entre as tabelas. Essas colunas comuns geralmente servem como o vínculo entre uma chave primária em uma tabela e uma chave estrangeira em outra, estabelecendo as relações definidas no esquema de banco de dados.
Observação: uma chave primária é um identificador exclusivo para cada registro em uma tabela, garantindo que nenhuma duas linhas tenham 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, vinculando assim as duas tabelas.
Há vários "sabores" de junções (INNER, , LEFT, RIGHT, FULL OUTER, ), NATURALcada um projetado para combinar tabelas de maneiras 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 unidas.
JUNÇÃO INTERNA
Um 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 atendem à condição de ambas as tabelas são incluídas no conjunto de resultados, filtrando efetivamente todos os dados não compatíveis. Isso torna INNER JOIN ideal a recuperação de informações relacionadas em que as conexões entre tabelas são definidas explicitamente, 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, customerse employees.
Ele corresponde à customer_idorders tabela com o correspondente customer_id na customers tabela e na employee_idorders tabela com o employee_idemployees da tabela. Como resultado, a consulta gera a ID de cada pedido juntamente com os nomes do cliente e do funcionário envolvidos.