Saltar al contenido

¿Cómo usar mysql JOIN sin la condición ON?

Solución:

La documentación de MySQL cubre este tema.

He aquí una sinopsis. Cuando usas join o inner join, los on la condición es opcional. Esto es diferente del estándar ANSI y diferente de casi cualquier otra base de datos. El efecto es un cross join. Del mismo modo, puede utilizar un on cláusula con cross join, que también difiere del SQL estándar.

Una unión cruzada crea un producto cartesiano, es decir, cada combinación posible de 1 fila de la primera tabla y 1 fila de la segunda. La unión cruzada para una tabla con tres filas (‘a’, ‘b’ y ‘c’) y una tabla con cuatro filas (digamos 1, 2, 3, 4) tendría 12 filas.

En la práctica, si desea realizar una combinación cruzada, utilice cross join:

from A cross join B

es mucho mejor que:

from A, B

y:

from A join B -- with no on clause

los on Se requiere una cláusula para una combinación externa derecha o izquierda, por lo que la discusión no es relevante para ellos.

Si necesita comprender los diferentes tipos de uniones, entonces necesita estudiar un poco sobre bases de datos relacionales. Stackoverflow no es un lugar apropiado para ese nivel de discusión.

Vea algún ejemplo en http://www.sitepoint.com/understanding-sql-joins-mysql-database/

Puede usar ‘USING’ en lugar de ‘ON’ como en la consulta

SELECT * FROM table1 LEFT JOIN table2 USING (id);
¡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 *