DBMS Joins: Inner, Left Outer, THETA Tipos de operações de junção

Índice:

Anonim

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:

  1. Junções internas: Theta, Natural, EQUI
  2. 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.