¿Estás buscando una forma de mejorar tus habilidades en SQL? Si es así, ¡has llegado al lugar correcto! En este artículo, hablaremos sobre las uniones internas en SQL y cómo puedes utilizarlas para perfeccionar tu conocimiento en esta importante herramienta de programación. Acompáñanos en este recorrido para descubrir cómo la unión interna en SQL puede ayudarte a optimizar tus procesos de análisis de datos. Bienvenido a TIEngranaje.
el sql INNER JOIN
palabra clave devuelve filas cuando hay al menos una coincidencia en ambas tablas. Las bases de datos relacionales a menudo se normalizan para eliminar la duplicación de información cuando los objetos pueden tener relaciones de uno a muchos.
Por ejemplo, un departamento puede estar asociado con muchos empleados diferentes. Unir dos tablas combina efectivamente la información de ambas tablas para evitar la duplicación de datos en cualquiera de las tablas.
Tabla de empleados
employeeID |
employeeName |
---|---|
1000 | John Smith |
1001 | Fred blanco |
1002 | jane scott |
1003 | samuel williams |
Tabla de Departamentos
deptName |
employeeID |
---|---|
Ventas | 1000 |
HORA | 1002 |
Contabilidad | 1003 |
Operaciones | 1004 |
En este ejemplo, employeeID
es una clave principal en la tabla llamada «Empleados». notarás que employeeID
también existe en la tabla “Departamentos” pero como clave foránea. Usando SQL Join, podemos combinar estas dos tablas en una cuando presentamos los resultados de una consulta.
Ejemplo de diseño
En este ejemplo, usando un unir internamente, podemos crear una consulta para mostrar el nombre del departamento y el nombre del empleado aunque ninguna tabla tenga esta información por sí sola. Las dos tablas están unidas por el campo ‘employeeID’. Podemos usar el INNER JOIN
para unir estos datos.
Sintaxis
SELECT tableName#.columnName#, etc...
FROM tableName1
INNER JOIN tableName2
ON tableName1.columnName# = tableName2.columnName#
Ejemplo
Enumere los departamentos y sus empleados asignados.
SELECT Departments.deptName, Employees.employeeName
FROM Employees
INNER JOIN Departments
ON Employees.employeeID = Departments.employeeID
Resultados
deptName |
employeeName |
---|---|
Ventas | John Smith |
HORA | jane scott |
Contabilidad | samuel williams |
Debería notar inmediatamente que ‘Operaciones’ de la tabla Departamento y ‘Fred White’ de la tabla Empleados no están incluidos en los resultados Esto se debe a que no hay empleados asignados a Operaciones y Fred White no está asignado a un ID de departamento válido.
Si hay filas en «Departamentos» que no tienen coincidencias en «Empleados» y viceversa, esas filas no se mostrarán.
Error 403 The request cannot be completed because you have exceeded your quota. : quotaExceeded