Aprende tecnología paso a paso

¿Qué es INNER JOIN en SQL?

INNER JOIN es una operación del lenguaje SQL utilizada para combinar registros de dos o más tablas relacionadas. Este tipo de JOIN devuelve únicamente los registros que tienen coincidencias en ambas tablas.

Es uno de los comandos más utilizados en bases de datos relacionales, ya que permite consultar información distribuida en diferentes tablas y mostrarla en un único resultado.

¿Para qué sirve INNER JOIN?

En una base de datos relacional es común que la información se encuentre separada en varias tablas para evitar duplicidades y mejorar la organización de los datos.

INNER JOIN permite unir esas tablas mediante una relación común, generalmente una clave primaria y una clave foránea.

Gracias a esta operación es posible obtener información más completa sin necesidad de almacenar los mismos datos varias veces.

¿Cómo funciona INNER JOIN?

INNER JOIN compara una columna de una tabla con una columna de otra tabla. Cuando encuentra valores coincidentes, muestra el registro en el resultado.

Si no existe coincidencia, ese registro no aparecerá en la consulta.

Ejemplo práctico

Supongamos que tenemos dos tablas: clientes y pedidos.

Tabla clientes


id | nombre
--------------
1  | Juan
2  | María
3  | Carlos
    

Tabla pedidos


id | cliente_id | producto
---------------------------
1  | 1          | Laptop
2  | 1          | Mouse
3  | 2          | Teclado
    

Observa que la columna cliente_id de la tabla pedidos hace referencia al id de la tabla clientes.

Consulta con INNER JOIN

SELECT clientes.nombre,
       pedidos.producto
FROM clientes
INNER JOIN pedidos
ON clientes.id = pedidos.cliente_id;

Resultado obtenido


nombre | producto
------------------
Juan   | Laptop
Juan   | Mouse
María  | Teclado
    

Como Carlos no tiene pedidos registrados, no aparece en el resultado. Esto ocurre porque INNER JOIN solamente devuelve registros que tienen coincidencias en ambas tablas.

¿Qué significa la cláusula ON?

La cláusula ON indica la condición utilizada para relacionar las tablas.

ON clientes.id = pedidos.cliente_id

Esta condición establece que el id del cliente debe coincidir con el cliente_id almacenado en la tabla pedidos.

Ventajas de INNER JOIN

¿Cuándo utilizar INNER JOIN?

INNER JOIN debe utilizarse cuando únicamente se necesitan registros que existan en ambas tablas.

Algunos ejemplos comunes son:

Diferencia entre INNER JOIN y LEFT JOIN

La principal diferencia es que INNER JOIN muestra únicamente las coincidencias entre tablas, mientras que LEFT JOIN devuelve todos los registros de la tabla izquierda aunque no tengan relación en la tabla derecha.

Por esta razón, INNER JOIN suele utilizarse cuando se desea trabajar exclusivamente con información relacionada.

Conclusión

INNER JOIN es una de las operaciones más importantes de SQL. Permite relacionar tablas y obtener información completa a partir de diferentes fuentes de datos. Dominar INNER JOIN es un paso fundamental para trabajar con bases de datos relacionales y desarrollar consultas profesionales.