Recomendado, 2024

La Elección Del Editor

Diferencia entre la unión externa izquierda, derecha y completa

Anteriormente, hemos analizado las diferencias entre la unión interna y la unión externa, en las que hemos analizado los tipos de unión externa. La unión externa es la que conserva las tuplas en el resultado que se habría perdido durante la operación de unión. En este articulo; Vamos a discutir las diferencias entre los tipos de Unión Externa. Hay tres tipos de unión externa; Unión externa izquierda, Unión externa derecha y Unión externa completa. La unión externa izquierda, derecha y completa difiere en su plan de ejecución y en los resultados obtenidos. Podemos omitir una palabra externa de la combinación externa izquierda, derecha y completa. Examinemos las diferencias entre la unión externa izquierda, derecha y completa con la ayuda del cuadro de comparación que se muestra a continuación.

Gráfica comparativa

Bases para la comparaciónIzquierda combinación externaUnión externa derechaUnión externa completa
BASICTodas las tuplas de la tabla izquierda permanecen en el resultado.Todas las tuplas de la tabla derecha permanecen en el resultado.Todas las tuplas de la izquierda y la tabla derecha permanecen en el resultado.
Extensión nulaLas tuplas de la tabla izquierda que no tienen una tupla coincidente en la tabla derecha se extienden con un valor NULO para los atributos de la tabla derecha.Las tuplas de la tabla derecha que no tienen una tupla coincidente en la tabla izquierda se extienden con un valor NULO para los atributos de la tabla izquierda.
Las tuplas de la tabla izquierda y derecha que no tienen las tuplas coincidentes en la tabla derecha e izquierda respectivamente se extienden con un valor NULL para los atributos de las tablas derecha e izquierda.

Definición de la unión externa izquierda

Supongamos que tenemos, " Table_A Left Outer Join Table_B ". Por lo tanto, Table_A es nuestra tabla izquierda, tal como aparece a la izquierda de la operación Left Outer Join y Table_B es nuestra tabla derecha .

Inicialmente, la unión interna se aplicaría en Table_A y Table_B que devolverá toda la tupla coincidente de la tabla A y B.

A continuación, devolverá todas las tuplas de Table_A que no tengan una tupla coincidente en Table_B. De tal manera, las tuplas resultantes se rellenarán con valores NULL para los atributos de la tabla correcta.

Por lo tanto, el resultado obtenido de la Unión externa izquierda conserva todas las tuplas de la tabla izquierda y solo las tuplas coincidentes de la tabla derecha.

Discutamos Left Outer Join con un ejemplo; Tenemos dos tablas a continuación, Tabla de estudiantes y Tabla de departamento .

Ahora, aplicaremos Left Outer Join, en la tabla de estudiantes y departamentos.

SELECCIONAR * DESDE EL ESTUDIANTE IZQUIERDA EN EL EXTRANJERO Departamento
En estudiante Student_ID = Department.Student_ID

En la consulta anterior, la tabla Estudiante es la tabla de la izquierda y el Departamento de la tabla de la derecha. Entonces, de acuerdo con la combinación externa izquierda, el resultado debe tener todas las tuplas de la tabla de alumnos y solo las tuplas de la tabla del Departamento.

Observe el resultado obtenido de la unión externa izquierda; tiene todas las tuplas de la tabla de Estudiantes junto con las tuplas coincidentes de la tabla de Estudiantes y Departamentos. El student_id de Jimmy, Joseph Harry de la mesa de Student no estaba presente en la mesa del Departamento. Por lo tanto, los valores de atributo de la tabla del Departamento para Jimmy, Joseph Harry se extienden a NULL.

Definición de Unión Externa Derecha

Supongamos que tenemos, " Table_A Right Outer Join Table_B ". Por lo tanto, Table_A es nuestra tabla izquierda, tal como aparece a la izquierda de la operación de unión externa derecha, y Table_B es nuestra tabla derecha .

Al igual que en la combinación externa izquierda, inicialmente, la unión interna se aplicaría en Table_A y Table_B, que devolverá toda la tupla coincidente de la tabla A y B.

A continuación, devolverá todas las tuplas de Table_B que no tengan una tupla coincidente en Table_A. De tal manera, las tuplas resultantes se rellenarán con valores NULL para los atributos de la tabla izquierda.

Por lo tanto, el resultado obtenido de la combinación externa derecha retiene todas las tuplas de la tabla derecha y solo las tuplas coincidentes de la tabla izquierda.

Discutamos Right Outer Join con un ejemplo; arriba tenemos dos tablas, tabla de estudiantes y tabla de departamento.

Ahora, aplicaremos la unión externa derecha a la tabla de estudiantes y al departamento.

SELECCIONAR * DESDE EL ESTUDIANTE DERECHO EXTERIOR UNIRSE Departamento
En estudiante Student_ID = Department.Student_ID

En la consulta anterior, la tabla de estudiantes es nuestra tabla izquierda y la tabla de departamentos es nuestra tabla derecha. De acuerdo con la operación de Unión Externa Derecha, el resultado debe incluir todas las tuplas de la tabla del Departamento y solo las tuplas coincidentes de la Tabla de Estudiantes.

Observe el resultado obtenido de la unión externa derecha; tiene todas las tuplas de la tabla del Departamento junto con las tuplas coincidentes de la tabla de Alumnos y Departamento. Los Student_ID 10536 y 00954, de la tabla del Departamento, no están presentes en la tabla de Estudiantes. Por lo tanto, el valor de atributo de Nombre para Student_ID 10536 y 00954 se extiende a NULL.

Definición de Full Outer join

Supongamos que tenemos, " Table_A Full Outer Join Table_B ". Por lo tanto, Table_A es nuestra tabla izquierda, tal como aparece a la izquierda de la operación Full Outer Join y Table_B es nuestra tabla derecha .

Full Outer Join es la combinación de ambos, Left Outer Join y Right Outer Join . Inicialmente, aplica una unión interna en Table_A y Table_B para recuperar las tuplas coincidentes de ambas tablas. Luego extiende esas tuplas de Table_A con NULL que no tienen una tupla coincidente en Table_B. Además, extiende esas tuplas de Table_B con NULL que no tienen una tupla coincidente en Table_A.

Por lo tanto, Full Outer Join conserva todas las tuplas de la izquierda y la tabla derecha, junto con las tuplas coincidentes de ambas tablas.

Discutamos la unión externa completa con un ejemplo; Tenemos dos tablas arriba, Tabla de estudiantes y Tabla de departamento .

Ahora, aplicaremos la tabla de participación externa completa a la tabla de estudiantes y de departamentos.

SELECCIONAR * DESDE EL ESTUDIANTE COMPLETO EXTERNO ÚNETE Departamento
En estudiante Student_ID = Department.Student_ID

En la consulta anterior, la tabla de estudiantes es nuestra tabla izquierda y la tabla de departamentos es nuestra tabla derecha. Según Full Outer Join, el resultado debe incluir todas las tuplas de ambas tablas.

Observe el resultado obtenido de la unión externa completa; tiene todas las tuplas de la tabla de Estudiantes y Departamentos junto con las tuplas correspondientes de la tabla de Estudiantes y Departamentos. El Student_id de Jimmy, Joseph Harry, es decir, 10026, 02256, 56362 respectivamente, de la tabla de estudiantes, no estaba presente en la tabla del Departamento. Por lo tanto, los valores de atributo de la tabla del Departamento para Jimmy, Joseph Harry se extienden a NULL . El Student_ID 10536 y 00954, de la tabla del Departamento, no están presentes en la columna Student_ID de la tabla del Estudiante. Por lo tanto, el valor del atributo del atributo Name para Student_ID 10536 y 00954 se extiende a NULL .

Diferencias clave entre la combinación externa izquierda, derecha y completa

  1. El resultado de la combinación externa izquierda tiene todas las tuplas de la tabla izquierda. Del mismo modo, el resultado de Right Outer Join tiene todas las tuplas de la tabla correcta. Y el resultado de Full Outer Join tiene todas las tuplas de la tabla izquierda y derecha.
  2. En la Unión externa izquierda, las tuplas de la tabla izquierda que no tienen una tupla coincidente en la tabla derecha se extienden con valores nulos para los atributos de la tabla derecha. Opuesto es el caso de la Unión Externa Derecha. Y en Full Outer Join, las tuplas de las tablas izquierda y derecha que no tienen tuplas coincidentes en las tablas derecha e izquierda respectivamente se extienden con NULL para los atributos de la tabla derecha e izquierda respectivamente.

Conclusión:

Tenga cuidado de las posiciones de los nombres de tablas en una consulta. Como la posición del nombre de la tabla en la consulta decide si la tabla se considerará como tabla izquierda o tabla derecha.

Top