Logo Studenta

Investigación - Que son los sql join

¡Estudia con miles de materiales!

Vista previa del material en texto

¿Qué son los SQL JOINS?
La sentencia JOIN en SQL permite crear consultas en distintas bases de datos, estas secuencias combinan datos guardados en diferentes tablas para presentar una tabla con resultados filtrados. Se usa específicamente para combinar filas de dos o más tablas, en función de una columna relacionada entre ellas.
Existen diversos tipos de SQL JOINS, entre estos tenemos al INNER JOIN, LEFT OUTER JOIN, RIGHT OUTER JOIN y FULL OUTER JOIN.
INNER JOIN
Las sentencias INNER JOIN son las más utilizadas en SQL Server, esta sentencia hace referencia a una forma filtrada de CROSS JOIN, en la que solo son incluidas en el conjunto resultante las tuplas de las tablas originales. 
Esta cláusula busca coincidencias en tres dos tablas, en este caso la A y B, en función a una columna que tienen en común.
INNER JOIN selecciona todas las filas de las ambas columnas solo cuando haya una coincidencia entre las columnas en las dos tablas. Ejemplo:
SELECT nombreColumna
FROM tabla1
INNER JOIN tabla2
ON tabla1.nombreColumna=table2.nombreColumna;
LEFT OUTER JOIN
Permite consultar datos de varias tablas, mostrando todas las filas de la tabla izquierda aun si no tienen correspondencia con la tabla de la derecha.
Si no se encuentran filas que coincidan con la tabla de la derecha se usará NULL. Se presentará un ejemplo de cómo unir dos tablas TA(TablaA) y TB(TablaB) mediante la sentencia LEFT JOIN.
SELECT
    select_list
FROM
    TA
LEFT JOIN TB ON
    join_predicate;
Si un par de filas hace que el predicado de concatenación se evalúe como VERDADERO, los valores de columna de esas filas se concatenan en una nueva fila que luego se incluye en el conjunto de resultados. En conclusión, esta cláusula en SQL devuelve todas las filas de la tabla1(izquierda) y en la tabla 2 solo filas coincidentes o valores NULL.
RIGHT OUTER JOIN
Con la cláusula RIGHT JOIN obtendremos todas las filas de la tabla derecha, aunque no posean correspondencia en la tabla izquierda, así como con LEFT JOIN, pero al inverso. La sintaxis general de RIGHT OUTHER JOIN es la siguiente:
SELECT nombredelasColumna(s)
FROM tabla1
RIGHT JOIN tabla2
ON tabla1.nombredelaColumna = tabla2.nombredelaColumna;
A continuación se presentaran dos casos en los que podemos usar esta sentencia de sintaxis, por ejemplo, si queremos seleccionar todas las filas de la tabla B(derecha) aunque no tengan correspondencia con las filas de la tabla A se puede usar la siguiente sintaxis:
SELECT TA.Col1, TA.Col2, TA.Col3, TB.Col7
FROM TablaA TA RIGHT [OUTER] JOIN TablaB TB ON TA.Col1 = TB.Col1
Si por alguna razón en nuestra base de datos quisiéramos obtener todos los pedidos, aunque no tengan cliente alguno asociado debemos escribir la siguiente sintaxis:
SELECT OrderID, C.CustomerID, CompanyName, OrderDateFROM Customers C RIGHT JOIN Orders O ON C.CustomerID = O.CustomerID
FULL OUTER JOIN
En esta sentencia se obtienen todas las filas en las tablas A y B, tengan o no correspondencia en la otra tabla, entonces, todos los registros de ambas tablas aunque no haya correspondencia entre ambos, rellenando así con NULL los campos faltantes, su sintaxis por defecto es la siguiente:
SELECT
	Select_list
FROM
	Ta
FULL OUTER JOIN TB ON join_predicate;
La palabra Outer es opcional, así que puedes omitirla al momento de realizar una consulta.
Como ya se dio a conocer, la sentencia FULL JOIN o FULL OUTER JOIN en SQL combina los valores de la primera y segunda tabla, cumplan o no la condición, así que la sentencia FULL JOIN puede ser la unión entre LEFT JOIN y RIGHT JOIN. 
Un ejemplo del FULL JOIN puede ser el siguiente, en el que unimos dos tablas, en este caso la tabla 1 con la tabla 2, para obtener así el nombre, apellido y el departamento en el que se encuentran las personas, quedando como resultado:
SELECT nombre, apellido1, departamento
FROM personas
FULL JOIN departamentos
WHERE personas.dep = departamentos.dep

Continuar navegando