Select com JOIN

Estou com a seguinte Duvida: Possuo na base a Tabela Registro, Contrato, Físico e Jurídico. Existe uma relação N:N entre Contrato e Registro, por isso há uma
tabela associativa chamada Contrato-Registro. As tabelas Físico e Jurídico, herdam(Pois para criar as tabelas usei hibernate) de Contrato como ID o atributo NUM_DOC,

Quero fazer uma pesquisa em Registro, onde na tabela Contrato_Registro pode ter NUM_DOC de Físico e um NUM_DOC de Jurídico relacionado ao mesmo ID de Registro:

Exemplo

            SELECT c.NUM_DOC as 'JURÍDICO',
                        r.DATA as 'DATA CADASTRO'
                        r.id as 'ID REGISTRO'
                        f.NUM_DOC as 'DOCUMENTO PESSOA FÍSICA

            FROM Contrato c, Registro r, Físico f, Jurídico j

            WHERE ??????

Então, minha duvida é essa: Na linha de consulta de Registro eu possuo Um NUM_DOC de Físico e Jurídico com o mesmo ID de Registro(tabela Contrato_Registro)

Como faço o JOIN nessa Consulta???

Grato desde já…

Usando um OR?

[]'s

Que tal assim?[code]
SELECT
*

FROM
CONTRATO_REGISTRO CR
INNER JOIN CONTRATO C ON CR.CONTRATO = C.ID
INNER JOIN REGISTRO R ON CR.REGISTRO = R.ID
INNER JOIN FISICO F ON CR.NUM_DOC = F.NUM_DOC

UNION

SELECT
*

FROM
CONTRATO_REGISTRO CR
INNER JOIN CONTRATO C ON CR.CONTRATO = C.ID
INNER JOIN REGISTRO R ON CR.REGISTRO = R.ID
INNER JOIN JURIDICO J ON CR.NUM_DOC = J.NUM_DOC[/code]