Pular para o conteúdo

Fóruns SQL e PL/SQL Sintaxe Oracle TO_NUMBER+LEFT JOIN Sintaxe Oracle TO_NUMBER+LEFT JOIN

#99594
rman
Participante

    Fiz alguns teste, o resultado de ambas as consultas são iguais…


    SELECT *
    FROM SCOTT.DEPT D,SCOTT.EMP E
    WHERE TO_NUMBER(E.DEPTNO(+)) = TO_NUMBER(D.DEPTNO);

    SELECT *
    FROM SCOTT.DEPT D
    LEFT OUTER JOIN SCOTT.EMP E ON E.DEPTNO = D.DEPTNO;

    Apesar eu não adotar a pratica de utilizar o operador (+) para realização de JOIN, eu estou supondo que a sintaxe deve ser COLUNA(+) e não como se pode pensar (+) = ou = (+), logo se aplica função em cima de COLUNA(+).

    Eu prefiro trabalhar com LEFT OUTER JOIN, RIGHT OUTER JOIN, FULL OUTER JOIN. Além de ficar mais humanamente legivel, este é o padrão SQL92. Eu uso a clausula WHERE pra fazer condições de filtragem e as ligações entre as tabelas deixo no JOIN.