Diferencia clave: las combinaciones en SQL se realizan para combinar los datos de dos tablas diferentes. Una unión interna es una condición que da como resultado las filas que satisfacen la cláusula 'where' en "todas las tablas"; mientras que una unión externa es una condición que resulta en aquellas filas que satisfacen la cláusula 'where' en "al menos una de las tablas".
Al implementar las combinaciones, se crean las tablas temporales, estas se basan en columnas. Siempre debe haber dos tablas, para las condiciones de unión. Estas condiciones, luego combinan los componentes respectivos de una tabla con los otros componentes, y dan lugar a una tabla completamente nueva. El objetivo de estas tablas es extraer los datos o información significativos y necesarios. Dependiendo de las condiciones, hay dos tipos de uniones, las unidas internas y las externas.
Sintaxis de SQL INNER JOIN:
SELECCIONAR nombre (s) de columna
DESDE table1
JUNTA INTERNA table2
ON table1.column_name = table2.column_name;
La palabra clave INNER JOIN selecciona todas las filas de ambas tablas siempre que haya una coincidencia entre las columnas de ambas tablas.
Las uniones internas dependen de la selección de los diseños y las características de la base de datos. En consecuencia, estas uniones internas se utilizan en las uniones equitativas y las uniones naturales. En Equi Join, hay un tipo específico de comparación que se utiliza para igualar las dos tablas dadas. Por lo tanto, esta tabla utiliza el predicado igual. La unión natural es un tipo de unión equitativa.
La sintaxis de Equi Join es la siguiente:
S ELEGIR *
DESDE tabla1, tabla 2
DÓNDE table1.coloumn_name = table2.coloumn_name;
Si las columnas en una unión equitativa tienen el mismo nombre, entonces la versión de SQL respectiva proporciona una notación abreviada opcional que puede ser expresada por la construcción USING como:
SELECCIONAR *
FROM table1 INNER JOIN table2 USING (column_name);
La sintaxis de Natural Join es la siguiente:
SELECCIONAR *
FROM table1 NATURAL JOIN table2;
Una "unión externa" no necesita las condiciones coincidentes para los registros. Esta condición de unión mantiene todos los demás registros, además de los registros no coincidentes. Esta unión se distribuye en las condiciones de unión externa izquierda, derecha y completa, que se implementan de acuerdo con las condiciones y atributos de la tabla deseada.
Izquierda combinación externa
La palabra clave LEFT JOIN devuelve todas las filas de la tabla izquierda (tabla1), con las filas coincidentes en la tabla derecha (tabla2). Da como resultado "NULL" en el lado derecho cuando no hay coincidencia.
La sintaxis de la combinación externa izquierda es la siguiente:
SELECCIONAR nombre (s) de columna
DESDE table1
IZQUIERDA JUNTAS EXTERIORES table2
ON table1.column_name = table2.column_name;
Unión externa derecha
La palabra clave RIGHT JOIN devuelve todas las filas de la tabla derecha (tabla 2), con las filas coincidentes en la tabla izquierda (tabla 1). El resultado es NULL en el lado izquierdo cuando no hay coincidencia.
La sintaxis para la unión externa derecha es la siguiente:
SELECCIONAR nombre (s) de columna
DESDE table1
JUSTE EXTERIOR DERECHO table2
ON table1.column_name = table2.column_name;
Unión externa completa
La palabra clave FULL OUTER JOIN devuelve todas las filas de la tabla izquierda (tabla1) y la tabla derecha (tabla2). La palabra clave FULL OUTER JOIN combina el resultado de las combinaciones IZQUIERDA y DERECHA.
La sintaxis de Full Outer Join es:
SELECCIONAR nombre (s) de columna
DESDE table1
COMPLETO EXTERIOR COMPLETO table2
ON table1.column_name = table2.column_name;
Comparación entre la unión interna y la unión externa:
Unir internamente | Unión externa | |
Función básica | Las uniones internas se utilizan básicamente para encontrar filas coincidentes entre 2 tablas. | La unión externa conserva las filas de cualquiera de las tablas, o ambas tablas. |
Existencia de variables comunes. | Aquí la variable común tiene que estar obligatoriamente en ambas tablas. | Aquí la variable depende solo de la primera tabla que puede o no estar presente en la segunda tabla. |
Devoluciones | La unión interna solo devolverá filas en las que haya una coincidencia basada en el predicado de unión. | La combinación externa devolverá todas las filas si están basadas en coincidencias o no basadas en el predicado de combinación. |
Acostumbrado a | Se usa para ver los registros solo cuando los registros están presentes en ambas tablas. | Se utiliza para ver todos los registros en una sola tabla. |
Aplicable en | Son aplicables en: Equi-Join y Unir Natural | Son aplicables como: Izquierda combinación externa Unión externa derecha Unión externa completa |