Sql  XML
Índice dos Fóruns » Assuntos gerais (Off-topic)
Autor Mensagem
Puppets
Virtual Machine Man
[Avatar]

Membro desde: 12/12/2006 14:14:55
Mensagens: 508
Localização: Porto Alegre
Offline

Gostaria de saber qual a diferença entre "=" e "*=" pra min o efeito das duas é o mesmo, reparem nestas querys:







Tanto com * quannto sem, o retorno dos dados é o mesmo. Alguém sabe pra que utilizar o '*' ?

Nunca desista antes de conseguir.
Veronicaaa
JavaTeenager
[Avatar]

Membro desde: 30/05/2006 18:55:12
Mensagens: 189
Localização: Porto Alegre - RS
Offline

Se eu não me engano ele funciona como o Left Outer Join. Se você tem registros em uma tabela onde existe uma FK que permite valores NULL a consulta retorna esses registros com FK NULL, se você só utiliza "=" a consulta não retorna esses registros.

OCP JP 6.0
Puppets
Virtual Machine Man
[Avatar]

Membro desde: 12/12/2006 14:14:55
Mensagens: 508
Localização: Porto Alegre
Offline

Obrigado.

Nunca desista antes de conseguir.
thiagopri
Entusiasta Java
[Avatar]

Membro desde: 31/01/2007 07:57:11
Mensagens: 23
Offline

Olá,

Visualize o (=) como inner Join, e o (*=) como o left Join, ou seja, quando vc está utilizando *= na primeira query, isso signifca que a query retornará todos os registros da tabela FFAT independente se ele tem associação ou não com a tabela FCFOCOMPL, ou seja, é um left join. Já na segunda query, utilizando somente o =, vc está afirmando para a query que só deseja os registros da tabela FFAT que contiverem associação com a tabela FCFOCOMPL.

O que deve estar acontecendo no seu caso, é que não existe "pai sem filho" no seu caso, ai o resultado da query é o mesmo. Ai vc pode perguntar "Mas pq utilizar left join, não pode ser um problema de integridade ???" ... Isso vai depender do seu negócio, imagine uma tablea de categoria e uma de produtos, relacionamento 1 x N ... E eu quero listar os dados das categorias que contiverem produtos e das que nao contenham nenhum produto associado tb ... ai entra o left join ..... E para muitos outros casos.
 
Índice dos Fóruns » Assuntos gerais (Off-topic)
Ir para:   
Powered by JForum 2.1.8 © JForum Team