RES: [oracle_br] Join
Qual a versão do oracle? Se for 9i, pode fazer com full outer join. Se for 8i eh so nao colocar nada no relacionamento select t1.c1, t2.c1 from t1 full outer join t2 on t1.c1 = t2.c1; ou select t1.c1, t2.c1 from t1, t2; -Mensagem original- De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Cristiano Mascarenhas da Silva Enviada em: segunda-feira, 9 de abril de 2007 10:00 Para: oracle_br@yahoogrupos.com.br Assunto: [oracle_br] Join Prezados, bom dia, Fazendo um join no oracle, não é aceito colocar o sinal (+) dos dois lados, exemplo: where a.campo (+) = b.campo (+) Então como fazemos essa consulta com outer join nas duas tabelas? Sds, Cristiano Mascarenhas da Silva -- Internal Virus Database is out-of-date. Checked by AVG Free Edition. Version: 7.5.446 / Virus Database: 268.18.25/745 - Release Date: 3/4/2007 12:48 -- Internal Virus Database is out-of-date. Checked by AVG Free Edition. Version: 7.5.446 / Virus Database: 268.18.25/745 - Release Date: 3/4/2007 12:48 [As partes desta mensagem que não continham texto foram removidas]
RES: [oracle_br] Join com atributos que nã o são chaves
Daniel, Vais forçar que o Oracle varra a tabela toda em busca de valores que possam ser usados no predicado (join). Isso gera o famoso FULL TABLE SCAN e, quando maior a tabela, mais tempo para que a varredura aconteça. Logo, cada vez mais a sua performance piora. Existem casoso que o FULL TABLE SCAN é correto. Normalmenta analiza-se os predicados da query em busca de condições que preferencialmente usem indices e que estes indices referenciem campos com boa cardinalidade. Se não conseguir, avalie a criação de um novo indice, calculando custos e ganhos possiveis para decidir se vale a pena ou não. Sem esquecer que, se seu banco usar o metodo de otimização por estatisticas (CHOOSE), que elas estejam bem coletadas. Abraço! -Mensagem original- De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] nome de Daniel Amorim Enviada em: sexta-feira, 26 de agosto de 2005 15:12 Para: oracle_br@yahoogrupos.com.br Assunto: [oracle_br] Join com atributos que não são chaves Pessoal Tenho uma duvida basica.O que acontece quando eu faço um join com colunas que não são chaves? Estou utilizando Oracle 9i/ Win XP Att, Daniel Amorim __ Histórico: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ Falar com os Moderadores:([EMAIL PROTECTED]) Dorian Anderson Soutto - Fernanda Damous - Alisson Aguiar __ Links do Yahoo! Grupos __ Histórico: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ Falar com os Moderadores:([EMAIL PROTECTED]) Dorian Anderson Soutto - Fernanda Damous - Alisson Aguiar __ Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/oracle_br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
Re: RES: [oracle_br] Join com atributos que não são chaves
--- Em oracle_br@yahoogrupos.com.br, Gari Julio Einsfeldt [EMAIL PROTECTED] escreveu Obrigado pela resposta.E com relação a quantidade de registros?Ele faz algum tipo de produto cartesiano? Eu perguntei justamente por estar com um sério problema de performace. Att, Daniel Amorim Daniel, Vais forçar que o Oracle varra a tabela toda em busca de valores que possam ser usados no predicado (join). Isso gera o famoso FULL TABLE SCAN e, quando maior a tabela, mais tempo para que a varredura aconteça. Logo, cada vez mais a sua performance piora. Existem casoso que o FULL TABLE SCAN é correto. Normalmenta analiza-se os predicados da query em busca de condições que preferencialmente usem indices e que estes indices referenciem campos com boa cardinalidade. Se não conseguir, avalie a criação de um novo indice, calculando custos e ganhos possiveis para decidir se vale a pena ou não. Sem esquecer que, se seu banco usar o metodo de otimização por estatisticas (CHOOSE), que elas estejam bem coletadas. Abraço! -Mensagem original- De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] nome de Daniel Amorim Enviada em: sexta-feira, 26 de agosto de 2005 15:12 Para: oracle_br@yahoogrupos.com.br Assunto: [oracle_br] Join com atributos que não são chaves Pessoal Tenho uma duvida basica.O que acontece quando eu faço um join com colunas que não são chaves? Estou utilizando Oracle 9i/ Win XP Att, Daniel Amorim __ Histórico: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ Falar com os Moderadores:([EMAIL PROTECTED]) Dorian Anderson Soutto - Fernanda Damous - Alisson Aguiar __ Links do Yahoo! Grupos __ Histórico: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ Falar com os Moderadores:([EMAIL PROTECTED]) Dorian Anderson Soutto - Fernanda Damous - Alisson Aguiar __ Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/oracle_br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html
RES: RES: [oracle_br] Join com atributos que não s ão chaves
Sim Create Table t1( c1 Number, c2 Varchar2(10)) Create Table t2( c1 Number, c2 Varchar2(10)) Insert Into t1 Values (1, 'linha 1'); Insert Into t1 Values (1, 'linha 2'); Insert Into t1 Values (2, 'linha 3'); Insert Into t1 Values (3, 'linha 4'); Insert Into t1 Values (3, 'linha 5'); Insert Into t1 Values (3, 'linha 6'); Insert Into t2 Values (1, 'linha 1'); Insert Into t2 Values (2, 'linha 2'); Insert Into t2 Values (2, 'linha 3'); Insert Into t2 Values (3, 'linha 5'); Insert Into t2 Values (3, 'linha 6'); Select t1.c2, t2.c2 From t1, t2 Where t1.c1 = t2.c1 C2 C2 linha 1 linha 1 linha 2 linha 1 linha 3 linha 2 linha 3 linha 3 linha 4 linha 5 linha 5 linha 5 linha 6 linha 5 linha 4 linha 6 linha 5 linha 6 linha 6 linha 6 []´s Ivan -Mensagem original- De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Daniel Amorim Enviada em: sexta-feira, 26 de agosto de 2005 15:42 Para: oracle_br@yahoogrupos.com.br Assunto: Re: RES: [oracle_br] Join com atributos que não são chaves --- Em oracle_br@yahoogrupos.com.br, Gari Julio Einsfeldt [EMAIL PROTECTED] escreveu Obrigado pela resposta.E com relação a quantidade de registros?Ele faz algum tipo de produto cartesiano? Eu perguntei justamente por estar com um sério problema de performace. Att, Daniel Amorim Daniel, Vais forçar que o Oracle varra a tabela toda em busca de valores que possam ser usados no predicado (join). Isso gera o famoso FULL TABLE SCAN e, quando maior a tabela, mais tempo para que a varredura aconteça. Logo, cada vez mais a sua performance piora. Existem casoso que o FULL TABLE SCAN é correto. Normalmenta analiza-se os predicados da query em busca de condições que preferencialmente usem indices e que estes indices referenciem campos com boa cardinalidade. Se não conseguir, avalie a criação de um novo indice, calculando custos e ganhos possiveis para decidir se vale a pena ou não. Sem esquecer que, se seu banco usar o metodo de otimização por estatisticas (CHOOSE), que elas estejam bem coletadas. Abraço! -Mensagem original- De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] nome de Daniel Amorim Enviada em: sexta-feira, 26 de agosto de 2005 15:12 Para: oracle_br@yahoogrupos.com.br Assunto: [oracle_br] Join com atributos que não são chaves Pessoal Tenho uma duvida basica.O que acontece quando eu faço um join com colunas que não são chaves? Estou utilizando Oracle 9i/ Win XP Att, Daniel Amorim __ Histórico: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ Falar com os Moderadores:([EMAIL PROTECTED]) Dorian Anderson Soutto - Fernanda Damous - Alisson Aguiar __ Links do Yahoo! Grupos __ Histórico: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ Falar com os Moderadores:([EMAIL PROTECTED]) Dorian Anderson Soutto - Fernanda Damous - Alisson Aguiar __ Links do Yahoo! Grupos __ Histórico: http://www.mail-archive.com/oracle_br@yahoogrupos.com.br/ Falar com os Moderadores:([EMAIL PROTECTED]) Dorian Anderson Soutto - Fernanda Damous - Alisson Aguiar __ Links do Yahoo! Grupos * Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/oracle_br/ * Para sair deste grupo, envie um e-mail para: [EMAIL PROTECTED] * O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html