Introducción
En SQL, la operación INNER JOIN
se utiliza para combinar filas de dos o más tablas basándose en una condición común entre ellas. Esta operación devuelve solo las filas que tienen coincidencias en ambas tablas.
Conceptos Clave
- Tablas: Conjuntos de datos organizados en filas y columnas.
- Llave primaria: Columna o conjunto de columnas que identifican de manera única cada fila en una tabla.
- Llave foránea: Columna o conjunto de columnas en una tabla que se refiere a la llave primaria en otra tabla.
Sintaxis de INNER JOIN
La sintaxis básica de un INNER JOIN
es la siguiente:
columnas
: Las columnas que deseas seleccionar.tabla1
ytabla2
: Las tablas que deseas unir.columna_comun
: La columna común en ambas tablas que se utiliza para la unión.
Ejemplo Práctico
Supongamos que tenemos dos tablas: Clientes
y Pedidos
.
Tabla Clientes
ClienteID | Nombre | Ciudad |
---|---|---|
1 | Juan | Madrid |
2 | Ana | Barcelona |
3 | Pedro | Valencia |
Tabla Pedidos
PedidoID | ClienteID | Producto |
---|---|---|
101 | 1 | Laptop |
102 | 2 | Teléfono |
103 | 1 | Tablet |
104 | 3 | Monitor |
Queremos obtener una lista de todos los pedidos junto con el nombre del cliente que realizó cada pedido. Utilizamos un INNER JOIN
para combinar las tablas Clientes
y Pedidos
basándonos en la columna ClienteID
.
SELECT Clientes.Nombre, Pedidos.Producto FROM Clientes INNER JOIN Pedidos ON Clientes.ClienteID = Pedidos.ClienteID;
Resultado
Nombre | Producto |
---|---|
Juan | Laptop |
Ana | Teléfono |
Juan | Tablet |
Pedro | Monitor |
Ejercicio Práctico
Ejercicio 1
Dadas las siguientes tablas:
Tabla Empleados
EmpleadoID | Nombre | DepartamentoID |
---|---|---|
1 | Carlos | 10 |
2 | María | 20 |
3 | Luis | 10 |
Tabla Departamentos
DepartamentoID | Departamento |
---|---|
10 | Ventas |
20 | Marketing |
Escribe una consulta SQL que devuelva el nombre del empleado y el nombre del departamento al que pertenece.
Solución
SELECT Empleados.Nombre, Departamentos.Departamento FROM Empleados INNER JOIN Departamentos ON Empleados.DepartamentoID = Departamentos.DepartamentoID;
Resultado Esperado
Nombre | Departamento |
---|---|
Carlos | Ventas |
María | Marketing |
Luis | Ventas |
Errores Comunes
- No especificar la condición de unión: Olvidar la cláusula
ON
resultará en un error. - Confundir columnas: Asegúrate de que las columnas en la cláusula
ON
son las correctas y existen en ambas tablas. - Nombres de columnas ambiguos: Si las tablas tienen columnas con el mismo nombre, usa el prefijo de la tabla (
tabla.columna
) para evitar ambigüedades.
Conclusión
El INNER JOIN
es una herramienta poderosa para combinar datos de múltiples tablas en SQL. Al dominar esta operación, puedes realizar consultas más complejas y obtener información más detallada de tus bases de datos. En el próximo tema, exploraremos otras operaciones de unión como LEFT JOIN
y RIGHT JOIN
para entender cómo manejar diferentes escenarios de combinación de datos.
Curso de SQL
Módulo 1: Introducción a SQL
Módulo 2: Consultas básicas de SQL
- Instrucción SELECT
- Filtrando datos con WHERE
- Ordenando datos con ORDER BY
- Limitando resultados con LIMIT
Módulo 3: Trabajando con múltiples tablas
Módulo 4: Filtrado avanzado de datos
- Usando LIKE para coincidencia de patrones
- Operadores IN y BETWEEN
- Valores NULL y IS NULL
- Agregando datos con GROUP BY
- Cláusula HAVING
Módulo 5: Manipulación de datos
Módulo 6: Funciones avanzadas de SQL
Módulo 7: Subconsultas y consultas anidadas
- Introducción a subconsultas
- Subconsultas correlacionadas
- EXISTS y NOT EXISTS
- Usando subconsultas en cláusulas SELECT, FROM y WHERE
Módulo 8: Índices y optimización de rendimiento
- Entendiendo los índices
- Creación y gestión de índices
- Técnicas de optimización de consultas
- Análisis del rendimiento de consultas
Módulo 9: Transacciones y concurrencia
- Introducción a las transacciones
- Propiedades ACID
- Instrucciones de control de transacciones
- Manejo de concurrencia