ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

INNER JOIN


Enviado por   •  2 de Marzo de 2015  •  352 Palabras (2 Páginas)  •  130 Visitas

Página 1 de 2

INNER JOIN

La forma más utilizada de combinación se llama INNER JOIN, y el resultado es el cálculo cruzado de todos los registros. Se combinan los registros de la tabla Empleados con la tabla Categorías, pero sólo van a permanecer los registros que satisfagan la condición especificada.

Podemos graficar este ejemplo con un diagrama de Venn:

Sintaxis:

SELECT e.Id, e.Apellido, c.Id, c.Nombre

FROM Empleados e

INNER JOIN Categorías c

ON e.Categoria = c.Id

LEFT JOIN

Si lo que necesitamos es una lista de los empleados, sin importar si pertenecen o no a una categoría, entonces lo que tenemos que utilizar es LEFT JOIN. El resultado que produce este JOIN son todas las filas de la tabla que se encuentre a la izquierda, sin importar si coinciden con las filas de la derecha.

Sintaxis:

SELECT e.Id, e.Apellido, c.Id, c.Nombre

FROM Empleados e

LEFT JOIN Categorías c

ON e.Categoria = c.Id

RIGHT JOIN

De la misma forma que podemos obtener todas las filas de la tabla de la izquierda con LEFT JOIN, con RIGHT JOIN obtenemos todas las filas de la tabla derecha, sin importar si coinciden con las de la tabla de la izquierda.

Sintaxis:

SELECT e.Id, e.Apellido, c.Id, c.Nombre

FROM Empleados e

RIGHT JOIN Categorías c

ON e.Categoria = c.Id

FULL JOIN

El FULL JOIN se utiliza cuando queremos obtener todas las filas de las dos tablas, sin importarnos que tengan coincidencias. MySQL no soporta este tipo de JOIN, por lo tanto para lograr el mismo resultado, hay que hacer LEFT JOIN + RIGHT JOIN.

Sintaxis:

SELECT e.Id, e.Apellido, c.Id, c.Nombre

FROM Empleados e

FULL JOIN Categorías c

ON e.Categoria = c.Id

CROSS JOIN

Finalmente, existe el CROSS JOIN, el cual no puede ser explicado con un diagrama de Venn. Lo que hace, es unir todo con todo, o sea, realiza el producto cartesiano. Como tenemos 14 empleados y 6 categorías (14x6 = 84), obtendremos 84 filas en el resultado. Este tipo de JOIN puede resultar peligroso en el rendimiento de la base de datos, si lo aplicamos a tablas con muchos datos.

Por obvias razones, no adjunto una imagen del resultado.

Sintaxis:

SELECT e.Id, e.Apellido, c.Id, c.Nombre

FROM Empleados e

CROSS JOIN Categorías c

...

Descargar como (para miembros actualizados) txt (2 Kb)
Leer 1 página más »
Disponible sólo en Clubensayos.com