Home Bases de Datos MySQL producto cartesiano y join

PostHeaderIcon producto cartesiano y join

Usar puntuación: / 6
MaloBueno 

Según vimos en el álgebra relacional, el producto cartesiano da como resultado todas las combinaciones posibles de todas las filas de dos tablas.

También definimos el JOIN como las combinaciones de dos tablas que tienen algún campo común.

 

 

Por tanto, una forma sencilla de calcular el producto cartesiano es con un select de dos tablas:

SELECT * FROM ALUMNOS, ASIGNATURAS;

Para el JOIN podemos utilizar también la sentencia SELECT de la siguiente manera:

SELECT * FROM ALUMNOS, ASIGNATURAS

WHERE ALUMNOS.COD_ALUMNOS=ASIGNATURAS.ALUMNO

Otra opción podría haber sido:

SELECT * FROM alumnos [INNER | CROSS] JOIN asignaturas

ON (alumnos.cod_alumno=asignatura.alumno)

Observamos que la coma de la primera opción es equivalente al JOIN de la segunda y que la clásula WHERE se sustituye por ON. La condición dentro del ON es exactamente la misma que la del WHERE.

INNER JOIN se utiliza como equivalente de la coma (,) en las versiones antiguas (anteriores a la V3.24) y CROSS JOIN es el producto cartesiano también para versione antiguas (hasta la 4).

Una tercera opción sería

SELECT * FROM alumnos JOIN asignaturas USING(cod_alumno, alumno)

La cláusula USING es la que determina la condición

La última opción son LEFT JOIN y RIGHT JOIN. Estas opciones añaden combinaciones no existentes rellenándolas como nulos (NULL). Añadirá a la primera tabla o a la segunda según sea LEFT o RIGHT

 

Escribir un comentario


Código de seguridad
Refescar

PostHeaderIcon Más Comentado

PostHeaderIcon Últimos Comentarios

mod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_counter
mod_vvisit_counterHoy94
mod_vvisit_counterAyer750
mod_vvisit_counterEsta semana844
mod_vvisit_counterLa semana pasada4692
mod_vvisit_counterEste mes23860
mod_vvisit_counterEl mes pasado46803
mod_vvisit_counterTodos los días1476233

We have: 35 guests online
Hoy es: Ene 23, 2018