¿Hay diferencias entre estos dos queries? Sin JOIN <code>SELECT A.NOMBRE, B.TITLE FROM users AS A, posts AS B WHERE A.id = B.user_id </co...

Pregunta de la clase:
FROM y SQL JOINs
Edinson Padrón

Edinson Padrón

Pregunta
studenthace 5 años

¿Hay diferencias entre estos dos queries?

Sin JOIN

SELECT A.NOMBRE, B.TITLE FROM users AS A, posts AS B WHERE A.id = B.user_id

Con JOIN:

SELECT A.NOMBRE, B.TITLE FROM users AS A JOIN posts AS B ON A.id = B.user_id
2 respuestas
para escribir tu comentario
    Eduard Arias

    Eduard Arias

    studenthace 3 años

    Realmente no hay diferencia. Esto es debido a que cuando se utiliza el separador de coma ',' el el 'select' se está haciendo un 'JOIN' por debajo, específicamente una unión llamada 'CROSS JOIN' o 'FULL JOIN'.

    Adrián Castillo

    Adrián Castillo

    studenthace 5 años

    Desconozco si es para todas las bases de datos pero personalmente he visto que realizar consultas con INNER JOIN es mucho más rápido que indicando la unión en el WHERE. Esto por factores como por ejemplo que el "A.id" si es PK en tabla A y B.user_id probablemente no es PK en la tabla B.

    A eso hay que agregar que por ejemplo existen ciertos parámetros en un WHERE que invalidan los indices de las tablas.

Curso de Base de Datos [Empieza Gratis]

Curso de Base de Datos [Empieza Gratis]

Antes de utilizar cualquier tecnología para bases de datos debes entender los fundamentos de diseño y modelado requeridos para que tengas la mejor arquitectura posible. Crea tus propios modelos de bases de datos con las mejores prácticas desde cero.

Curso de Base de Datos [Empieza Gratis]
Curso de Base de Datos [Empieza Gratis]

Curso de Base de Datos [Empieza Gratis]

Antes de utilizar cualquier tecnología para bases de datos debes entender los fundamentos de diseño y modelado requeridos para que tengas la mejor arquitectura posible. Crea tus propios modelos de bases de datos con las mejores prácticas desde cero.