Saltar al contenido principal
Documentos
FuncionesExpresionesKeywordsDeclaracionesCláusulas

Cláusula INNER JOIN de MySQL

La cláusula `INNER JOIN` de MySQL se utiliza para recuperar filas de dos o más tablas basándose en una columna común de ambas tablas. Devuelve sólo las filas que tienen valores coincidentes en ambas tablas.

Utilización

La cláusula `INNER JOIN` se utiliza cuando necesitas seleccionar datos de varias tablas en las que haya una coincidencia en las columnas especificadas. Se suele utilizar en sentencias `SELECT` para combinar filas de diferentes tablas.

sql
SELECT columns
FROM table1
INNER JOIN table2 ON table1.column_name = table2.column_name;

En esta sintaxis, `INNER JOIN` combina filas de `tabla1` y `tabla2` en las que coinciden los valores de `nombre_columna`. Ten en cuenta que si no hay filas coincidentes en ninguna de las dos tablas, no se devolverá ninguna fila.

Ejemplos

1. Unión interna básica

sql
SELECT employees.name, departments.department_name
FROM employees
INNER JOIN departments ON employees.department_id = departments.id;

Este ejemplo recupera los nombres de los empleados junto con sus respectivos nombres de departamento uniendo las tablas `employees` y `departments` en las coincidencias `department_id` e `id`.

2. Unión interna con condiciones adicionales

sql
SELECT orders.order_id, customers.customer_name
FROM orders
INNER JOIN customers ON orders.customer_id = customers.id
WHERE orders.order_date > '2023-01-01';

Esta consulta recupera los ID de los pedidos y los nombres de los clientes de los pedidos realizados después del 1 de enero de 2023, utilizando una unión interna entre las tablas "pedidos" y "clientes".

3. Unión interna con varias tablas

sql
SELECT students.name, courses.course_name, grades.grade
FROM students
INNER JOIN grades ON students.id = grades.student_id
INNER JOIN courses ON grades.course_id = courses.id;

Este ejemplo une tres tablas: `estudiantes`, `calificaciones` y `cursos`, para mostrar el nombre de cada estudiante, los cursos en los que está matriculado y sus calificaciones.

Consejos y buenas prácticas

  • Utiliza referencias explícitas a las columnas. Utiliza siempre el nombre de la tabla o el alias con los nombres de las columnas para evitar ambigüedades.
  • Garantizar columnas de unión indexadas. Indexa las columnas de unión para mejorar el rendimiento de la consulta.
  • Filtra pronto. Aplica las cláusulas "DONDE" pronto para minimizar los datos antes de unirlos.
  • Utiliza alias de tabla. Utiliza alias de tablas para simplificar las consultas y mejorar la legibilidad.
  • Limita los resultados. Aplica `LIMIT` para recuperar sólo los datos necesarios, reduciendo la carga de la base de datos.

Nota

El tipo de unión por defecto es `INNER JOIN` si no se indica un tipo específico al utilizar la palabra clave `JOIN`.

Perfeccionamiento de SQL para principiantes

Adquiere los conocimientos de SQL para interactuar con tus datos y consultarlos.
Empieza a aprender gratis