Вы находитесь на странице: 1из 12

CROSS JOIN /

FULL OUTER JOIN

Rony Alvarado//
Jesús Barbosa
2018
INTRODUCCION
Cuando se quiere unir o combinar múltiples
datos de una o varias tablas y expresarlos en
un conjunto de resultados generados, se
emplea la sentencia JOIN.
JOIN es el proceso de tomar datos de varias
tablas y colocarlos en una vista generada. En
el Lenguaje de Consultas Estructurado (SQL),
hay tres tipos de JOIN: interno, externo, y
cruzado.
Es una forma de recuperar datos mediante un
SELECT uniendo dos o más tablas.
CROSS JOIN
Combinaciones cruzadas. Es la forma mas
simple de los JOINS, pero no es muy utilizado.
Muestra todas las combinaciones posibles de
todos los registros de las tablas combinadas.
Creándose un producto cartesiano en el que
el numero de filas del resultado es igual al
numero de registros de la 1era tabla por el
numero de registros de la 2da tabla.
CROSS JOIN

En pocas palabras combina cada registro de


una primera tabla con todos los registros de
una segunda tabla.
SENTENCIA (sintaxis)

SELECT CAMPOS FROM TABLA1(nombre) CROSS JOIN


TABLA2(nombre);
FULL OUTER JOIN

Unión externa completa. Es el ultimo de los


JOINS. Esta sentencia combina los datos o
registros de dos tablas, decidiendo si se
incluye o no la intersección de las mismas.
FULL OUTER JOIN puede potencialmente
generar conjuntos de resultados muy grandes.
FULL OUTER JOIN

La sentencia FULL JOIN es la unión de


LEFT JOIN y RIGHT JOIN
FULL OUTER JOIN

La sintaxis de OUTER JOIN o FULL OUTER


JOIN no existen en MySQL, pero se puede
conseguir el mismo resultado de diferentes
formas.
En SQL:
SELECT * FROM tabla1 FULL JOIN tabla2 WHERE
tabla1.columna1 = tabla2.columna1
SENTENCIA (sintaxis)

EN MySQL:
SELECT * FROM tabla1 LEFT JOIN tabla2
ON tabla1.campo = tabla2.campo
UNION ALL
SELECT * FROM tabla1 RIGHT JOIN tabla2
ON tabla1.campo = tabla2.campo
WHERE tabla1.campo IS NULL;
SENTENCIA (sintaxis)
Es necesario usar UNION ALL lugar de UNION simple, lo que
eliminaría los duplicates que quisiera mantener. Esto puede
ser significativamente más eficiente en grandes sets de
resultados, ya que no hay necesidad de ordenar y eliminar
duplicates ".
Cabe señalar que una UNION en MySQL eliminará
duplicates exactos: Algún campo aparecería en ambas
consultas aquí, pero el resultado de la UNION solo lo incluye
una vez. Entonces, para ser más explícitos al respecto,
podríamos agregar una cláusula WHERE a la segunda
consulta.
Por otro lado, si desea ver duplicates por algún motivo,
puede usar UNION ALL .
GRACIAS

Вам также может понравиться