Saltar al contenido

Left JOIN en SQL con ejemplos

En este tutorial, se proporcionará una introducción a la cláusula LEFT JOIN de SQL y se ofrecerán ejemplos para ilustrar cómo funciona. También se brindará una guía paso a paso para implementar una cláusula LEFT JOIN en una base de datos SQL Server o MySQL.

Por lo que te recomiendo ver este articulo completo para aprender las bondades de usar left join en vez de where not in!!!

Índice

    Ver sintaxis del LEFT JOIN

    • SELECT
    • compos
    • FROM t1
    • LEFT JOIN t2 ON join_condition1

    Como utilizar el comando INNER JOIN en SQL

    1. Primero, especifique la tabla principal que aparece en la cláusula FROM (t1).
    2. En segundo lugar, especifique las tablas que con la cual se desea validar la relacion la tabla principal, que aparece en la cláusula LEFT JOIN (t2).
    3. Debe indicar los criterios de la relación después de la palabra clave ON de la cláusula LEFT JOIN. La condición especifica la regla para hacer coincidir los registros entre las tablas entre la tablas.

    Ejemplo 1 LEFT JOIN en SQL

    La cláusula LEFT JOIN de SQL se utiliza para validar que exista una relación entre las tablas involucradas. LEFT JOIN mantiene todas las filas de la tabla izquierda (tabla1). Las filas de la tabla derecha se mostrarán si hay una coincidencia con las de la izquierda. Si existen valores en la tabla izquierda pero no en la tabla derecha, ésta mostrará Null.

    Para los fines te mostraremos como relacionar dos tablas producto y categoría del producto.

    SELECT PRODUCTO.*,CATEGORIA.Name AS CATEGORIA
    FROM [AventureWorks].[SalesLT].[Product] AS PRODUCTO
    LEFT JOIN [AventureWorks].[SalesLT].ProductCategory AS CATEGORIA
    ON
    PRODUCTO.ProductCategoryID =CATEGORIA.ProductCategoryID

    En este caso las solicitud mostrara todos los valores que estén o no dentro de la condición de definida en el LEFT JOIN los valores no que no se encuentren solo marcaran un NULL en el campo categoría.

    LEFT JOIN en SQL con la clausula WHERE

    Para este ejemplo solo aplicaremos lo ya aprendido en el tutorial de inner join en este caso al usar la clausula WHERE indicamos el valor de la columna dentro de la relacion join que se encontrara en nulo indicando que esta fuera de la condicion JOIN.

    SELECT PRODUCTO.*,CATEGORIA.Name AS CATEGORIA
    FROM [AventureWorks].[SalesLT].[Product] AS PRODUCTO
    LEFT JOIN [AventureWorks].[SalesLT].ProductCategory AS CATEGORIA
    ON
    PRODUCTO.ProductCategoryID =CATEGORIA.ProductCategoryID
    WHERE CATEGORIA.ProductCategoryID IS NULL

    LEFT JOIN mantiene todas las filas de la tabla izquierda (la tabla1). por lo cual solo mostrara las filas de la izquierda que no están relacionadas con la derecha.

    LEFT JOIN vs RIGHT JOIN en SQL

    Mientras que el LEFT JOIN mantiene todas las filas de la tabla izquierda el RIGHT JOIN mantiene todas las filas de la tabla DERECHA indicando que debemos evaluar cuales registros de la izquierda no estan relacionados con los de la derecha.

    la sintaxis es la misma que la del LEFT JOIN , solo sustituyes LEFT por RIGHT

    • SELECT
    • campos
    • FROM t1
    • RIGHT JOIN t2 ON join_condition1

    En resumen, La cláusula LEFT JOIN de SQL se utiliza para validar que exista una relación entre las tablas involucradas se puede combinar con Group by, where , having y order by. ademas, es posible combinar con un subquery. Esta es una poderosa herramienta para comparar información entre tablas en base de datos.

    Hasta la próxima !!

    Bye :D!!