En SQL, tanto LEFT JOIN como LEFT OUTER JOIN se utilizan para combinar datos de dos o más tablas en función de una columna relacionada, pero son esencialmente la misma operación y no existe una diferencia práctica entre ellas. La palabra clave OUTER es opcional en la mayoría de los sistemas de bases de datos, incluidos los populares como MySQL, PostgreSQL y SQL Server.

Unión izquierda o Unión exterior izquierda
Unirse a la izquierda
A SQL Operación que combina dos tablas, mostrando todas las filas de la tabla de la izquierda y las filas coincidentes de la tabla de la derecha. Si no hay ninguna coincidencia en la tabla derecha, se muestra NULO valores.
Sintaxis
SELECCIONAR * DE la Tabla 1
UNIRSE A LA IZQUIERDA Table2 ON Table1.columnName = Table2.columnName;
Izquierda combinación externa
Otra operación SQL que es conceptualmente idéntica a LEFT JOIN. También combina tablas, mostrando todas las filas de la tabla de la izquierda y las filas coincidentes de la tabla de la derecha. Si no hay ninguna coincidencia en la tabla de la derecha, muestra valores NULL.
Sintaxis
SELECCIONAR * DE la Tabla 1
UNIÓN EXTERNA IZQUIERDA Table2 ON Table1.columnName = Table2.columnName;
LEFT JOIN y LEFT OUTER JOIN son esencialmente lo mismo en SQL. Ambos combinan datos de dos tablas, mostrando todas las filas de la tabla de la izquierda y las filas coincidentes de la tabla de la derecha. Si no hay ninguna coincidencia en la tabla de la derecha, muestran valores NULL. La única diferencia es la terminología: LEFT JOIN se utiliza en algunas bases de datos como mysql , mientras que LEFT OUTER JOIN se usa en otros como SQL Server. De una manera más profunda, System.out.print() se usa en Java, al mismo tiempo se usa print en Python, pero ambos reflejan el mismo resultado. Por lo tanto, es sólo una cuestión de qué término prefiere su sistema de base de datos, pero el resultado es idéntico.
Antes de profundizar en los ejemplos, creemos los datos necesarios para realizar la unión externa izquierda y la unión izquierda.
Paso 1: crear una base de datos
create database geeksforgeeks; use geeksforgeeks;>
Paso 2: crea una tabla llamada atleta
create table atheletes(Id int, Name varchar(20), AtheleteNO int, primary key(Id) );>
Paso 3: Insertar valores en la tabla atleta
INSERT INTO atheletes (Id, Name, AtheleteNO) VALUES (1, 'abisheik', 27); INSERT INTO atheletes (Id, Name, AtheleteNO) VALUES (2, 'Niyas', 27); INSERT INTO atheletes (Id, Name, AtheleteNO) VALUES (3, 'Joseph', 29); INSERT INTO atheletes (Id, Name, AtheleteNO) VALUES (4, 'Juan', 24);>
Paso 4: crea una tabla llamada Puntos
CREATE TABLE Points(ID INT, Score INT,AtheleteID INT, PRIMARY KEY (ID) );>
Paso 5: Insertar valores en la tabla Puntos
INSERT INTO Points (ID, Score, AtheleteID) VALUES (1, 270, 1); INSERT INTO Points (ID, Score, AtheleteID) VALUES (2, 297, 2); INSERT INTO Points (ID, Score, AtheleteID) VALUES (3, 210, 3); INSERT INTO Points (ID, Score, AtheleteID) VALUES (4, 180, 4);>
Ahora, hemos creado con éxito la tabla atleta y Puntos para la operación de uniones.
Ejemplo:
Al utilizar la combinación externa izquierda, se ejecutará la consulta.
sonrisa más hermosa
Consulta
SELECT * FROM atheletes LEFT OUTER JOIN Points ON atheletes.ID = Points.AtheleteID;>
Producción
Identificación | Nombre | Atleta NO | IDENTIFICACIÓN | Puntaje | ID de atleta |
---|---|---|---|---|---|
1 | abisheik | 27 | 1 | 270 | 1 |
2 | niyas | 27 | 2 | 297 | 2 |
3 | Joseph | 29 | 3 | 210 | 3 |
4 | Juan convertir una cadena en un número entero | 24 | 4 | 180 | 4 |
Ejemplo:
Al utilizar la combinación izquierda, se ejecutará la consulta.
Consulta
SELECT * FROM atheletes LEFT JOIN Points ON atheletes.ID = Points.AtheleteID;>
Producción
Identificación | Nombre | Atleta NO | IDENTIFICACIÓN | Puntaje | ID de atleta |
---|---|---|---|---|---|
1 | abisheik | 27 | 1 | 270 | 1 |
2 | niyas | 27 | 2 | 297 | 2 |
3 | Joseph livecricket.is | 29 | 3 | 210 | 3 |
4 | Juan | 24 | 4 | 180 | 4 |
Conclusión
En SQL, LEFT JOIN y LEFT OUTER JOIN son esencialmente la misma operación, diferenciándose sólo en la terminología. Ambas operaciones combinan datos de dos tablas, mostrando todas las filas de la tabla izquierda y las filas coincidentes de la tabla derecha mientras muestran valores NULL para las filas que no coinciden. Independientemente del término utilizado en su sistema de base de datos, el resultado sigue siendo idéntico.
Preguntas frecuentes sobre la unión izquierda frente a la unión externa izquierda
P.1: ¿Existe alguna diferencia de rendimiento entre LEFT JOIN y LEFT OUTER JOIN?
Respuesta:
No, no hay diferencia de rendimiento. Estos términos son intercambiables y el optimizador de la base de datos los maneja de la misma manera.
P.2: ¿Puedo usar LEFT JOIN o LEFT OUTER JOIN con más de dos tablas?
Respuesta:
Sí, puede utilizar estas operaciones de unión con varias tablas ampliando la sintaxis y especificando las condiciones de unión para cada tabla.
P.3: ¿Todos los sistemas de bases de datos admiten tanto LEFT JOIN como LEFT OUTER JOIN?
Respuesta:
Los sistemas de bases de datos más utilizados, incluidos MySQL, PostgreSQL y SQL Server, admiten tanto LEFT JOIN como LEFT OUTER JOIN. Sin embargo, es esencial verificar la compatibilidad de la documentación de su base de datos específica.
P.4: ¿Qué sucede si uso LEFT JOIN o LEFT OUTER JOIN sin especificar una condición de unión?
Respuesta:
El uso de estas operaciones de unión sin una condición de unión dará como resultado un producto cartesiano, donde cada fila de la tabla de la izquierda se combina con cada fila de la tabla de la derecha, lo que podría generar un conjunto de resultados grande e ineficiente.
P.5: ¿Existen otros tipos de uniones SQL?
Respuesta:
Sí, SQL admite varios tipos de uniones, incluidas INNER JOIN, RIGHT JOIN, FULL OUTER JOIN y CROSS JOIN, cada una de las cuales tiene diferentes propósitos al combinar datos de varias tablas.