Foreign Key nula

Olá Pessoal…

A dúvida é simples: qual a melhor forma de recuperar objetos de um bd com chave estrangeira nula?
Digamos que eu tenha um cadastro de participantes e cada um deles pode (ou não) possuir uma empresa vinculada. Sendo assim preciso recuperar os participantes mesmo que a empresa seja nula (left join na SQL)… só que desta forma estarei amarrado em vários outros fatores… terei que cuidar com o envio/recebimento do objeto para que não ocorra NPEs (fazendo vários testes desde a camada de banco até a view), terei também que fazer 2 SQLs diferentes para uma simples consulta pois uma irá buscar os participantes da empresa ‘Teste’ (select … where empresa.nome like ‘Teste’) e a outra irá buscar todos os participantes que não tem empresa (select … where empresa.nome IS NULL), ou seja… a sintaxe já é outra e eu não poderia ocupar a mesma SQL para os 2 casos…

enfim… não sei se fui muito claro… é um problema simples mas que ainda não achei solução…

Obrigado desde já…

usa, FK nula!
:smiley:

alguma dica?

o que faço hoje para resolver é gravar registros com código 0 em cada tabela e deixo as FKs obrigatórias… mas claro que não é a melhor solução, porém ficar tratando objetos nulos a toda hora (inclusive mudar SQLs) fica inviável…

Não funciona se utilizar a instrução “OR”?

SELECT ... FROM TABELA WHERE empresa.nome LIKE 'Teste' OR empresa.nome IS NULL

sim… mas aí ele sempre vai trazer junto todos os registros onde a empresa for nula…
ou seja… vai pegar todas as que são ‘Teste’ e também as nulas…