Em sistemas de gerenciamento de banco de dados (SGBD), as junções são usadas para combinar linhas de duas ou mais tabelas com base em uma coluna ou colunas relacionadas. Aqui estão diferentes tipos de junções junto com exemplos:
1.
Junção interna: - Combina linhas de duas tabelas onde há uma correspondência entre as colunas de junção de ambas as tabelas.
- Exemplo:
```sql
SELECIONE *
DE Clientes
Pedidos INNER JOIN
ON Clientes.CustomerID =Pedidos.CustomerID;
```
2.
Junção Externa Esquerda: - Inclui todas as linhas da tabela esquerda e apenas as linhas correspondentes da tabela direita.
- Exemplo:
```sql
SELECIONE *
DE Clientes
Pedidos LEFT OUTER JOIN
ON Clientes.CustomerID =Pedidos.CustomerID;
```
3.
Junção externa direita: - Inclui todas as linhas da tabela direita e apenas as linhas correspondentes da tabela esquerda.
- Exemplo:
```sql
SELECIONE *
DE Clientes
Pedidos RIGHT OUTER JOIN
ON Clientes.CustomerID =Pedidos.CustomerID;
```
4.
Junção externa completa: - Combina todas as linhas de ambas as tabelas, incluindo linhas sem correspondência de qualquer uma das tabelas.
- Exemplo:
```sql
SELECIONE *
DE Clientes
Pedidos FULL OUTER JOIN
ON Clientes.CustomerID =Pedidos.CustomerID;
```
5.
Auto-associação: - Executa uma operação de junção na mesma tabela, vinculando linhas com base em uma coluna comum dentro da tabela.
- Exemplo:
```sql
SELECIONE *
DE Funcionários COMO Funcionário1
JUNTE-SE A FUNCIONÁRIOS COMO FUNCIONÁRIO2
ON Funcionário1.ManagerID =Funcionário2.EmployeeID;
```
6.
Junção cruzada: - Combina cada linha de uma tabela com cada linha de outra tabela, resultando em um grande número de linhas.
- Exemplo:
```sql
SELECIONE *
DE Clientes
Pedidos CROSS JOIN;
```
7.
Junção Natural: - Executa uma junção interna com base em nomes de colunas comuns entre duas tabelas. Os nomes comuns das colunas não precisam ser especificados explicitamente.
- Exemplo:
```sql
SELECIONE *
DE Clientes
Pedidos de JUNTA NATURAL;
```
Ao usar junções, é importante considerar a criação de índices nas colunas de junção para melhorar o desempenho e otimizar a execução da consulta.