Saltar al contenido

Diferencia entre SQL JOIN y consultar desde dos tablas

Solución:

Hay una pequeña diferencia en la sintaxis, pero ambas consultas hacen una combinación en el P_Id campos de las respectivas tablas.

En su segundo ejemplo, esta es una implícito unirse, que está restringiendo en su WHERE cláusula a la P_Id campos de ambas tablas.

La combinación es explícita en su primer ejemplo y la cláusula de combinación contiene la restricción en lugar de una adicional WHERE cláusula.

Son básicamente equivalentes. En general, el JOIN las palabras clave le permiten ser más explícito sobre la dirección (LEFT, RIGHT) y escriba (INNER, OUTER, CROSS) de su combinación.

Esta publicación SO tiene una buena explicación de las diferencias en la queja ANSI SQL y tiene similitudes con la pregunta que se hace aquí.

Si bien (como se ha dicho) ambas consultas producirán el mismo resultado, creo que siempre es una buena idea indicar explícitamente sus JOIN. Es mucho más fácil de entender, especialmente cuando hay evaluaciones no relacionadas con JOIN en la cláusula WHERE.

Declarar explícitamente su JOIN también le impide consultar inadvertidamente un producto cartesiano. En su segunda consulta anterior, si (por cualquier motivo) olvidó incluir su cláusula WHERE, su consulta se ejecutará sin condiciones JOIN y devolverá un conjunto de resultados de cada fila en Personas que coinciden con cada fila en Pedidos … probablemente no sea algo que quieres.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *