O que é Join in DBMS?
Join in DBMS é uma operação binária que permite combinar o produto join e a seleção em uma única instrução. O objetivo de criar uma condição de junção é ajudá-lo a combinar os dados de duas ou mais tabelas DBMS. As tabelas no DBMS são associadas usando a chave primária e as chaves estrangeiras.
Neste tutorial de DBMS, você aprenderá:
- Tipos de união
- Junção interna
- Theta Join
- Junção EQUI:
- União Natural (⋈)
- Junção Externa
- União Externa Esquerda (A B)
- Junção Externa Direita (A B)
- Junção Externa Completa (A B)
Tipos de união
Existem basicamente dois tipos de junções no DBMS:
- Junções internas: Theta, Natural, EQUI
- Junção Externa: Esquerda, Direita, Completa
Vamos vê-los em detalhes:
Junção interna
INNER JOIN é usado para retornar linhas de ambas as tabelas que satisfaçam a condição dada. É a operação de junção mais amplamente usada e pode ser considerada como um tipo de junção padrão
Uma junção interna ou equijoin é uma junção baseada em comparador que usa comparações de igualdade no predicado de junção. No entanto, se você usar outros operadores de comparação como ">", ele não pode ser chamado de equijoin.
Inner Join dividido em três subtipos:
- Theta junta-se
- Junção natural
- Junção EQUI
Theta Join
THETA JOIN permite mesclar duas tabelas com base na condição representada por theta. As junções Theta funcionam para todos os operadores de comparação. É denotado pelo símbolo θ . O caso geral da operação JOIN é chamado de junção Theta.
Sintaxe:
A ⋈θ B
A junção Theta pode usar quaisquer condições nos critérios de seleção.
Considere as tabelas a seguir.
Tabela A | Tabela B | |||
coluna 1 | coluna 2 | coluna 1 | coluna 2 | |
1 | 1 | 1 | 1 | |
1 | 2 | 1 | 3 |
Por exemplo:
A ⋈ A.column 2 > B.column 2 (B)
A ⋈ A.coluna 2> B.coluna 2 (B) | |
coluna 1 | coluna 2 |
1 | 2 |
EQUI Join
EQUI JOIN é feito quando uma junção Theta usa apenas a condição de equivalência. A junção EQUI é a operação mais difícil de implementar com eficiência em um RDBMS e um dos motivos pelos quais o RDBMS tem problemas essenciais de desempenho.
Por exemplo:
A ⋈ A.column 2 = B.column 2 (B)
A ⋈ A. coluna 2 = B. coluna 2 (B) | |
coluna 1 | coluna 2 |
1 | 1 |
União Natural (⋈)
NATURAL JOIN não utiliza nenhum dos operadores de comparação. Nesse tipo de junção, os atributos devem ter o mesmo nome e domínio. Em Natural Join, deve haver pelo menos um atributo comum entre duas relações.
Ele realiza a seleção formando igualdade nos atributos que aparecem em ambas as relações e elimina os atributos duplicados.
Exemplo:
Considere as duas tabelas a seguir
C | |
Num | Quadrado |
2 | 4 |
3 | 9 |
D | |
Num | Cubo |
2 | 8 |
3 | 18 |
C ⋈ D
C ⋈ D | ||
Num | Quadrado | Cubo |
2 | 4 | 8 |
3 | 9 | 18 |
Junção Externa
Um OUTER JOIN não exige que cada registro nas duas tabelas de junção tenha um registro correspondente. Nesse tipo de junção, a tabela retém cada registro, mesmo se nenhum outro registro correspondente existir.
Três tipos de junções externas são:
- União Externa Esquerda
- Junção Externa Direita
- Full Outer Join
União Externa Esquerda (A B)
LEFT JOIN retorna todas as linhas da tabela à esquerda, mesmo que nenhuma linha correspondente tenha sido encontrada na tabela à direita. Quando nenhum registro correspondente for encontrado na tabela à direita, NULL é retornado.
Considere as 2 tabelas a seguir
UMA | |
Num | Quadrado |
2 | 4 |
3 | 9 |
4 | 16 |
B | |
Num | Cubo |
2 | 8 |
3 | 18 |
5 | 75 |
A B
A ⋈ B | ||
Num | Quadrado | Cubo |
2 | 4 | 8 |
3 | 9 | 18 |
4 | 16 | - |
Junção Externa Direita (A B)
RIGHT JOIN retorna todas as colunas da tabela à direita, mesmo que nenhuma linha correspondente tenha sido encontrada na tabela à esquerda. Onde nenhuma correspondência for encontrada na tabela à esquerda, NULL é retornado. RIGHT outer JOIN é o oposto de LEFT JOIN
Em nosso exemplo, vamos supor que você precise obter os nomes dos membros e os filmes alugados por eles. Agora temos um novo membro que ainda não alugou nenhum filme.
A B
A ⋈ B | ||
Num | Cubo | Quadrado |
2 | 8 | 4 |
3 | 18 | 9 |
5 | 75 | - |
Junção Externa Completa (A B)
Em um FULL OUTER JOIN , todas as tuplas de ambas as relações são incluídas no resultado, independentemente da condição de correspondência.
Exemplo:
A B
A ⋈ B | ||
Num | Quadrado | Cubo |
2 | 4 | 8 |
3 | 9 | 18 |
4 | 16 | - |
5 | - | 75 |
Resumo:
- Existem basicamente dois tipos de junções no DBMS 1) Junção interna 2) Junção externa
- Uma junção interna é a operação de junção amplamente usada e pode ser considerada como um tipo de junção padrão.
- A junção interna é dividida em três subtipos: 1) junção Theta 2) junção natural 3) junção EQUI
- Theta Join permite mesclar duas tabelas com base na condição representada por theta
- Quando uma junção theta usa apenas a condição de equivalência, ela se torna uma junção equi.
- A junção natural não utiliza nenhum dos operadores de comparação.
- Uma junção externa não exige que cada registro nas duas tabelas de junção tenha um registro correspondente.
- A união externa é dividida em três subtipos: 1) União externa esquerda 2) União externa direita 3) União externa completa
- A junção externa LEFT retorna todas as linhas da tabela à esquerda, mesmo que nenhuma linha correspondente tenha sido encontrada na tabela à direita.
- A junção externa RIGHT retorna todas as colunas da tabela à direita, mesmo que nenhuma linha correspondente tenha sido encontrada na tabela à esquerda.
- Em uma junção externa completa, todas as tuplas de ambas as relações são incluídas no resultado, independentemente da condição de correspondência.