¿Cuál es la diferencia entre unión interna y unión natural en DBMS?

Una “unión natural” es una unión interna donde los atributos de unión se definen con nombres iguales, por lo que no es necesario que se indiquen explícitamente.

Entonces la expresión de unión interna

  seleccione employee.emp_no, office.floor
 de empleado interno unirse a la oficina
 en employee.office_id = office.office_id

se puede escribir (en sistemas que admiten uniones naturales)

  seleccione employee.emp_no, office.floor
 de empleado natural unirse a la oficina

Obviamente, este es un concepto muy peligroso, sujeto a una coincidencia accidental de nombres de campo, etc. En mi opinión, una mejor idea de diseño de lenguaje habría sido usar restricciones de clave externa en lugar de la identidad del nombre, pero tales condiciones ocultas son peligrosas de cualquier manera.

La unión interna y la unión natural son casi iguales, pero hay una ligera diferencia entre ellas. La diferencia está en la unión natural sin necesidad de especificar la condición, pero en la condición de unión interna es obligatoria. Si especificamos la condición en la unión interna, las tablas resultantes son como un producto cartesiano.

Bueno, no necesita especificar las columnas comunes en las tablas que necesita para unir. En Inner Join necesita especificar explícitamente las columnas. Aparte de eso, el número de columnas devueltas en la combinación natural a veces puede ser más que la combinación interna para el mismo conjunto de tablas y la misma consulta.

SQL IZQUIERDA UNIR vs IZQUIERDA EXTERIOR UNIR

Sigue este artículo 🙂

Unión natural: es la combinación o el resultado combinado de todas las columnas en las dos tablas. Devolverá todas las filas de la primera tabla con respecto a la segunda tabla.
Unión interna: esta unión funcionará a menos que el nombre de la columna sea el mismo en dos tablas