es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

En Oracle, ¿se trata de una unión cruzada con un filtro o una unión interna?

Me encontré con esto en algún código SQL heredado y me preguntaba cómo funciona “bajo el capó”. En el ejemplo a continuación, ¿el motor de SQL trata esto como una unión cruzada con un filtro o como una unión interna regular en la palabra clave “LIKE”?

“`
Select
t1.col1,
t2.col2
From
table1 t1,
table2 t2
Where t1.approved IS NULL
AND UPPER(NVL(t1.team, ‘%’)) LIKE UPPER(NVL(t2.TEAM, ‘%’))
;

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Según el fragmento proporcionado, el motor de SQL tratará esto como una unión interna regular con la palabra clave ‘LIKE’. La condición dentro de la cláusula ‘WHERE’ dicta que solo se devolverán los registros en los que el valor ‘team’ de ‘table1’ en mayúsculas coincida con el valor ‘TEAM’ de ‘table2’ en mayúsculas. El signo ‘%’ actúa como un comodín, permitiendo coincidencias parciales. Sin embargo, cabe destacar que el uso de la sintaxis de unión antigua (“table1 t1, table2 t2”) no se recomienda y debería reemplazarse por la sintaxis de unión explícita preferida.

Comments are closed.