| Este artigo é órfão, pois não contém artigos que apontem para ele. Por favor, ajude criando ligações ou artigos relacionados a este tema. |
A Junção Theta, também conhecida como Junção Condicional é representada pelo símbolo ⋈, e baseia-se em uma combinação dos operadores produto cartesiano e seleção. Ela cria uma relação pela combinação dos campos de uma relação com aquelas de uma outra baseada em uma comparação de valores entre colunas que não necessariamente tem o mesmo nome.
Sintaxe
A sintaxe da junção theta é:
<tabela1> ⋈ <critério de seleção> <tabela2>
Onde:
<tabela> é o nome de uma tabela, ou expressão algébrica que resulte em uma tabela
<critério de seleção> é uma expressão booleana envolvendo literais e valores das colunas das duas tabelas envolvidas.
Exemplo Tabelas Hipotéticas
A seguir um exemplo com tabelas hipotéticas:
Imaginemos que possuímos as tabelas TabelaA e TabelaB conforme mostra abaixo:
TabelaA
c |
d |
ValorA |
50 |
ValorB |
65 |
ValorC |
70 |
TabelaB
e |
f |
ValorD |
50 |
ValorE |
80 |
ValorF |
70 |
Com a relação abaixo iremos reproduzir um produto cartesiano das duas tabelas selecionando apenas as linhas em que a coluna "d" da tabela "TabelaA" seja igual a coluna "f" da tabela "TabelaB".
TabelaA ⋈ TabelaA.d = TabelaB.f TabelaB
c |
d |
e |
f |
ValorA |
50 |
ValorD |
50 |
ValorC |
70 |
ValorF |
70 |
Exemplo Real
A seguir um exemplo com tabelas reais:
Suponhamos que temos as tabelas "Emprestimo" e "Conta" que guardam respectivamente informações das contas dos clientes de um banco e informações de empréstimos realizados a esses clientes:
Emprestimo
nomeAgencia |
nroEmprestimo |
nomeCliente |
valor |
Assis Brasil |
100 |
Pedro |
7000 |
Verde |
200 |
Maria |
11000 |
Assis Brasil |
400 |
João |
5000 |
São João |
500 |
Ana |
35000 |
Conta
nomeAgencia |
nroConta |
nomeCliente |
saldo |
Verde |
50 |
Maria |
3000 |
Farrapos |
100 |
Denise |
2000 |
Farrapos |
200 |
Pedro |
300 |
São João |
300 |
Ana |
2500 |
São João |
400 |
João |
1000 |
A seguir desejamos obter os dados dos empréstimos e das contas onde o nome do cliente da conta e o nome do cliente do empréstimo sejam iguais e o valor do empréstimo é maior que o saldo da conta do cliente.
Empréstimo ⋈ Conta.nomeCliente = Emprestimo.nomeCliente e Emprestimo.valor > Conta.saldo Conta
Conta.nomeAgencia |
nroConta |
Conta.nomeCliente |
saldo |
Emprestimo.nomeAgencia |
nroEmprestimo |
Emprestimo.nomeCliente |
valor |
Farrapos |
200 |
Pedro |
300 |
Assis Brasil |
100 |
Pedro |
7000 |
Verde |
50 |
Maria |
3000 |
Verde |
200 |
Maria |
11000 |
São João |
400 |
João |
1000 |
Assis Brasil |
400 |
João |
5000 |
São João |
300 |
Ana |
2500 |
São João |
500 |
Ana |
35000 |
Referências gerais
Ver também