Função OUTER no Join SQL.
Olá, Pessoal.
Estou com uma duvida.
Alguem já ouviu falar da função OUTER em um JOIN no SQL ?
Estou querendo saber como faço para usar essa função no FIREBIRD/INTERBASE. Será que é possível ?
Exemplo.:
SELECT * FROM ITEM , [b][i]OUTER[/i][/b] GRUPO_PRODUTO
WHERE ITEM.COD_GRUPO = GRUPO_PRODUTO.COD_GRUPO
Se caso não existir o grupo de produto cadastrado para algum item, ele traz o registro do item mesmo assim. Alguém já fez isso no FIREBIRD ?
Se puderes me ajudar, agradeço desde já.
Fiquem com Deus e que Jesus ilumine seus passos sempre por onde andares.
Ovidio Jr.
Estou com uma duvida.
Alguem já ouviu falar da função OUTER em um JOIN no SQL ?
Estou querendo saber como faço para usar essa função no FIREBIRD/INTERBASE. Será que é possível ?
Exemplo.:
SELECT * FROM ITEM , [b][i]OUTER[/i][/b] GRUPO_PRODUTO
WHERE ITEM.COD_GRUPO = GRUPO_PRODUTO.COD_GRUPO
Se caso não existir o grupo de produto cadastrado para algum item, ele traz o registro do item mesmo assim. Alguém já fez isso no FIREBIRD ?
Se puderes me ajudar, agradeço desde já.
Fiquem com Deus e que Jesus ilumine seus passos sempre por onde andares.
Ovidio Jr.
Ovidio
Curtidas 0
Respostas
Afarias
18/10/2003
|Alguem já ouviu falar da função OUTER em um JOIN no SQL ?
|Estou querendo saber como faço para usar essa função no
|FIREBIRD/INTERBASE. Será que é possível ?
Sim, só usar a sintaxe SQL padrão ANSI-92
os OUTER joins podem ser LEFT, RIGHT ou FULL -- em geral, se omite o parâmentro OUTER e e usa-se apenas os parâmetros LEFT, RIGHT ou FULL -- dê uma lida no help de SQL do Interbase ou Firebird no comando SELECT.
|SELECT * FROM ITEM , OUTER GRUPO_PRODUTO
|WHERE ITEM.COD_GRUPO = GRUPO_PRODUTO.COD_GRUPO
este SQL ficaria na forma::
select * from item left outer join grupo_produto on (item.cod_grupo = grupo_produto.cod_grupo)
where {...suas condições...}
mas o OUTER pode ser omitido::
select * from item left join grupo_produto on {...}
e, em lugar do LEFT pode ser usado RIGHT ou FULL de acordo com o resultado esperado.
|Se caso não existir o grupo de produto cadastrado para algum item, ele
|traz o registro do item mesmo assim. Alguém já fez isso no FIREBIRD ?
Claro, então é o LEFT q vc tem q usar.
T+
|Estou querendo saber como faço para usar essa função no
|FIREBIRD/INTERBASE. Será que é possível ?
Sim, só usar a sintaxe SQL padrão ANSI-92
os OUTER joins podem ser LEFT, RIGHT ou FULL -- em geral, se omite o parâmentro OUTER e e usa-se apenas os parâmetros LEFT, RIGHT ou FULL -- dê uma lida no help de SQL do Interbase ou Firebird no comando SELECT.
|SELECT * FROM ITEM , OUTER GRUPO_PRODUTO
|WHERE ITEM.COD_GRUPO = GRUPO_PRODUTO.COD_GRUPO
este SQL ficaria na forma::
select * from item left outer join grupo_produto on (item.cod_grupo = grupo_produto.cod_grupo)
where {...suas condições...}
mas o OUTER pode ser omitido::
select * from item left join grupo_produto on {...}
e, em lugar do LEFT pode ser usado RIGHT ou FULL de acordo com o resultado esperado.
|Se caso não existir o grupo de produto cadastrado para algum item, ele
|traz o registro do item mesmo assim. Alguém já fez isso no FIREBIRD ?
Claro, então é o LEFT q vc tem q usar.
T+
GOSTEI 0