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!!!
Ver sintaxis del LEFT JOIN
SELECT
compos
FROM t1
LEFT JOIN t2 ON join_condition1
Como utilizar el comando INNER JOIN en SQL
- Primero, especifique la tabla principal que aparece en la cláusula FROM (t1).
- 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).
- 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
WHERE CATEGORIA.ProductCategoryID IS NULL
FROM [AventureWorks].[SalesLT].[Product] AS PRODUCTO
LEFT JOIN [AventureWorks].[SalesLT].ProductCategory AS CATEGORIA
ON
PRODUCTO.ProductCategoryID =CATEGORIA.ProductCategoryID
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!!