¿Qué es Join en DBMS?
Join in DBMS es una operación binaria que le permite combinar el producto de unión y la selección en una sola declaración. El objetivo de crear una condición de combinación es que le ayude a combinar los datos de dos o más tablas DBMS. Las tablas en DBMS se asocian mediante la clave principal y las claves externas.
En este tutorial de DBMS, aprenderá:
- Tipos de unión
- Unir internamente
- Theta Join
- EQUI se une a:
- Unión natural (⋈)
- Unión externa
- Unión exterior izquierda (A B)
- Unión exterior derecha (A B)
- Unión exterior completa (A B)
Tipos de unión
Existen principalmente dos tipos de combinaciones en DBMS:
- Uniones internas: Theta, Natural, EQUI
- Unión externa: izquierda, derecha, completa
Veámoslos en detalle:
Unir internamente
INNER JOIN se usa para devolver filas de ambas tablas que satisfacen la condición dada. Es la operación de combinación más utilizada y se puede considerar como un tipo de combinación predeterminado.
Una combinación interna o equijoin es una combinación basada en comparadores que utiliza comparaciones de igualdad en el predicado de combinación. Sin embargo, si utiliza otros operadores de comparación como ">", no se puede llamar equijoin.
Inner Join se divide en tres subtipos:
- Theta unirse
- Unión natural
- EQUI unirse
Theta Join
THETA JOIN le permite fusionar dos tablas según la condición representada por theta. Theta se une al trabajo para todos los operadores de comparación. Se denota con el símbolo θ . El caso general de la operación JOIN se denomina combinación Theta.
Sintaxis:
A ⋈θ B
Theta join puede usar cualquier condición en los criterios de selección.
Considere las siguientes tablas.
Cuadro A | Cuadro B | |||
columna 1 | columna 2 | columna 1 | columna 2 | |
1 | 1 | 1 | 1 | |
1 | 2 | 1 | 3 |
Por ejemplo:
A ⋈ A.column 2 > B.column 2 (B)
A ⋈ A.columna 2> B.columna 2 (B) | |
columna 1 | columna 2 |
1 | 2 |
EQUI Únete
EQUI JOIN se realiza cuando una combinación Theta usa solo la condición de equivalencia. EQUI join es la operación más difícil de implementar de manera eficiente en un RDBMS, y una de las razones por las que los RDBMS tienen problemas de rendimiento esenciales.
Por ejemplo:
A ⋈ A.column 2 = B.column 2 (B)
A ⋈ A.columna 2 = B.columna 2 (B) | |
columna 1 | columna 2 |
1 | 1 |
Unión natural (⋈)
NATURAL JOIN no utiliza ninguno de los operadores de comparación. En este tipo de unión, los atributos deben tener el mismo nombre y dominio. En Natural Join, debe haber al menos un atributo común entre dos relaciones.
Realiza una selección formando igualdad sobre aquellos atributos que aparecen en ambas relaciones y elimina los atributos duplicados.
Ejemplo:
Considere las siguientes dos tablas
C | |
Num | Cuadrado |
2 | 4 |
3 | 9 |
D | |
Num | Cubo |
2 | 8 |
3 | 18 |
C ⋈ D
C ⋈ D | ||
Num | Cuadrado | Cubo |
2 | 4 | 8 |
3 | 9 | 18 |
Unión externa
Una OUTER JOIN no requiere que cada registro de las dos tablas de combinación tenga un registro coincidente. En este tipo de combinación, la tabla retiene cada registro incluso si no existe ningún otro registro coincidente.
Tres tipos de combinaciones externas son:
- Izquierda combinación externa
- Unión externa derecha
- Unión externa completa
Unión exterior izquierda (A B)
LEFT JOIN devuelve todas las filas de la tabla de la izquierda incluso si no se han encontrado filas coincidentes en la tabla de la derecha. Cuando no se encuentra ningún registro coincidente en la tabla de la derecha, se devuelve NULL.
Considere las siguientes 2 tablas
A | |
Num | Cuadrado |
2 | 4 |
3 | 9 |
4 | dieciséis |
B | |
Num | Cubo |
2 | 8 |
3 | 18 |
5 | 75 |
A B
A ⋈ B | ||
Num | Cuadrado | Cubo |
2 | 4 | 8 |
3 | 9 | 18 |
4 | dieciséis | - |
Unión exterior derecha (A B)
RIGHT JOIN devuelve todas las columnas de la tabla de la derecha incluso si no se han encontrado filas coincidentes en la tabla de la izquierda. Cuando no se han encontrado coincidencias en la tabla de la izquierda, se devuelve NULL. RIGHT external JOIN es lo opuesto a LEFT JOIN
En nuestro ejemplo, supongamos que necesita obtener los nombres de los miembros y las películas alquiladas por ellos. Ahora tenemos un nuevo miembro que aún no ha alquilado ninguna película.
A B
A ⋈ B | ||
Num | Cubo | Cuadrado |
2 | 8 | 4 |
3 | 18 | 9 |
5 | 75 | - |
Unión exterior completa (A B)
En FULL OUTER JOIN , todas las tuplas de ambas relaciones se incluyen en el resultado, independientemente de la condición de coincidencia.
Ejemplo:
A B
A ⋈ B | ||
Num | Cuadrado | Cubo |
2 | 4 | 8 |
3 | 9 | 18 |
4 | dieciséis | - |
5 | - | 75 |
Resumen:
- Hay principalmente dos tipos de combinaciones en DBMS 1) Unión interna 2) Unión externa
- Una combinación interna es la operación de combinación más utilizada y se puede considerar como un tipo de combinación predeterminado.
- Inner Join se divide en tres subtipos: 1) Theta join 2) Natural join 3) EQUI join
- Theta Join le permite fusionar dos tablas en función de la condición representada por theta
- Cuando una combinación theta usa solo una condición de equivalencia, se convierte en una combinación equi.
- La unión natural no utiliza ninguno de los operadores de comparación.
- Una combinación externa no requiere que cada registro de las dos tablas de combinación tenga un registro coincidente.
- La unión externa se divide en tres subtipos: 1) Unión externa izquierda 2) Unión externa derecha 3) Unión externa completa
- La combinación externa IZQUIERDA devuelve todas las filas de la tabla de la izquierda, incluso si no se han encontrado filas coincidentes en la tabla de la derecha.
- La unión externa DERECHA devuelve todas las columnas de la tabla de la derecha, incluso si no se han encontrado filas coincidentes en la tabla de la izquierda.
- En una combinación externa completa, todas las tuplas de ambas relaciones se incluyen en el resultado, independientemente de la condición de coincidencia.