Metatérminos

    JOIN

    La secuencia JOIN es uno de los conceptos más importantes y utilizados en SQL (Structured Query Language). Básicamente, se utiliza para combinar filas de dos o más tablas en una base de datos, basándose en una condición relacionada entre ellas. Es una herramienta esencial para trabajar con bases de datos relacionales, donde la información se distribuye en múltiples tablas. Sin el uso de JOIN, extraer datos significativos que comprendan múltiples tablas sería mucho más complicado y menos eficiente.

    Tipos de JOIN

    Existen varios tipos de JOIN en SQL, cada uno diseñado para manejar diferentes situaciones y necesidades de consulta. A continuación, describimos los principales tipos de JOIN:

    Inner join

    El Inner join es el tipo de JOIN más común. Se utiliza para devolver solo las filas que tienen valores coincidentes en ambas tablas involucradas. En otras palabras, si las filas en una tabla no tienen una coincidencia en la otra tabla, no serán incluidas en el resultado final. Este tipo de JOIN es muy útil cuando se busca extraer solo los datos que tienen relevancia en ambas tablas.

    Left join

    El left join (o left outer join) devuelve todas las filas de la tabla de la izquierda y las filas coincidentes de la tabla de la derecha. Si no hay coincidencia, las filas de la tabla de la derecha aparecerán como NULL en el resultado. Este tipo de JOIN es útil cuando se desea obtener todas las filas de la tabla principal, independientemente de si tienen o no una coincidencia en la tabla secundaria.

    Right join

    El right join (o right outer join) es similar al left join, pero con las tablas invertidas. Devuelve todas las filas de la tabla de la derecha y las filas coincidentes de la tabla de la izquierda. Si no hay coincidencia, las filas de la tabla de la izquierda aparecerán como NULL en el resultado. Se utiliza cuando se necesita priorizar la tabla de la derecha en la consulta.

    Ejemplos de uso

    Para entender mejor cómo funcionan estas secuencias JOIN, veamos algunos ejemplos prácticos.

    Ejemplo de inner join

    Supongamos que tenemos dos tablas: Clientes y Pedidos. La tabla Clientes contiene información sobre los clientes de una tienda, y la tabla Pedidos contiene los pedidos realizados por esos clientes.

    SELECT Clientes.Nombre, Pedidos.FechaPedido
    FROM Clientes
    INNER JOIN Pedidos
    ON Clientes.ClienteID = Pedidos.ClienteID;

    En este ejemplo, el INNER JOIN devuelve una lista de nombres de clientes junto con las fechas en que realizaron pedidos, pero solo para aquellos clientes que tienen al menos un pedido.

    Ejemplo de left join

    Utilizando las mismas tablas Clientes y Pedidos, ahora queremos obtener una lista de todos los clientes, incluyendo aquellos que no han realizado pedidos.

    SELECT Clientes.Nombre, Pedidos.FechaPedido
    FROM Clientes
    LEFT JOIN Pedidos
    ON Clientes.ClienteID = Pedidos.ClienteID;

    Este LEFT JOIN devolverá una lista de todos los clientes, y si un cliente no ha realizado un pedido, la columna FechaPedido aparecerá como NULL.

    Ejemplo de right join

    Finalmente, veamos cómo funciona un Right Join usando las mismas tablas.

    SELECT Clientes.Nombre, Pedidos.FechaPedido
    FROM Clientes
    RIGHT JOIN Pedidos
    ON Clientes.ClienteID = Pedidos.ClienteID;
     

    Aquí, el RIGHT JOIN devolverá todos los pedidos, incluidos aquellos que podrían no tener un cliente asociado en la tabla Clientes. Esto podría ocurrir si, por ejemplo, un cliente fue eliminado de la tabla de Clientes pero sus pedidos siguen en la base de datos.

    Te presentamos formaciones relacionadas que pueden interesarte: