logo

Unión externa izquierda de SQL frente a unión izquierda

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.

unirse a la izquierda

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.