[oracle_br] Relacionamento automático no Sql

2008-06-19 Por tôpico vin_monteiro2003
Oracle 10g, SqlPlus

Bom dia, 
O Oracle faz algo como auto-relacionamento no sql, sem precisar 
definir o join entre duas tabelas.
Por exemplo:
select f.cd_deptno, d.nm_deptno, f.name, f.cd_func
from func f, dept d

e ele já trás o relacionamento se gerar um produto cartesiano para 
este select acima ?

Obrigado



Re: [oracle_br] Relacionamento automático no Sql

2008-06-19 Por tôpico Rosivaldo
Usa natural join, isso se as colunas tiverem o mesmo nome e tipo.

2008/6/19 vin_monteiro2003 [EMAIL PROTECTED]:
 Oracle 10g, SqlPlus

 Bom dia,
 O Oracle faz algo como auto-relacionamento no sql, sem precisar
 definir o join entre duas tabelas.
 Por exemplo:
 select f.cd_deptno, d.nm_deptno, f.name, f.cd_func
 from func f, dept d

 e ele já trás o relacionamento se gerar um produto cartesiano para
 este select acima ?

 Obrigado

 



-- 
Rosivaldo Azevedo Ramalho
mail/msn: [EMAIL PROTECTED]
web: http://rosivaldo.goodiez.net
+55 83 8893 8281


Re: [oracle_br] Relacionamento automático no Sql

2008-06-19 Por tôpico Roberson Alves
vin_monteiro2003 escreveu:

 Oracle 10g, SqlPlus

 Bom dia,
 O Oracle faz algo como auto-relacionamento no sql, sem precisar
 definir o join entre duas tabelas.
 Por exemplo:
 select f.cd_deptno, d.nm_deptno, f.name, f.cd_func
 from func f, dept d

 e ele já trás o relacionamento se gerar um produto cartesiano para
 este select acima ?

 Obrigado

  
Bom dia,

Acredito que isso não seja possível, este comando por padrão gera um 
produto cartesiano. É o mesmo que usar um cross join.
O que você pode fazer é tentar usar o natural join(junção natural):
select f.cd_deptno, d.nm_deptno, f.name, f.cd_func
from func f
natural join dept d;

Roberson