Existen muchos tipos de joins, los joins son la union de 2 tablas.

Antes de iniciar con el tema, vamos a crear unas tablas de una base de datos, para hacer ejemplos con cada tipo de Join

id name
1 Admin
2 Juan
3 Felipe
4 Luis
id name created_by
1 manzana 2
2 sandia 1
3 fresa 3
4 pera 1
5 melon

Left Join

https://res.cloudinary.com/pym/image/upload/c_scale,f_auto,q_auto,w_258/articles/2019/sql/LEFT_JOIN

<aside> 💡 A = Users B = Products

</aside>

Este join lo que va a generar como respuesta es todos los registros que existen en los usuarios dependiendo la consulta, y traera consigo a los productos que haya creado el usuario.

SELECT u.id, u.name as user_name, p.name as product_name from users as u left join products as p on u.id = p.created_by;
id user_name product_name
1 Admin sandia
1 Admin pera
2 Juan manzana
3 Felipe fresa
4 Luis null

Inner Join

https://res.cloudinary.com/pym/image/upload/c_scale,f_auto,q_auto,w_258/articles/2019/sql/INNER_JOIN

<aside> 💡 A = Users B = Products

</aside>

Este join lo que va a generar como respuesta es todos los registros que coinciden entre ambas tablas.

SELECT u.id, u.name as user_name, p.name as product_name from users as u inner join products as p on u.id = p.created_by;
id user_name product_name
1 Admin sandia
1 Admin pera
2 Juan manzana
3 Felipe fresa

Right Join

https://res.cloudinary.com/pym/image/upload/c_scale,f_auto,q_auto,w_258/articles/2019/sql/RIGHT_JOIN

<aside> 💡 A = Users B = Products

</aside>

Este join lo que va a generar como respuesta es todos los registros que existen en los productos dependiendo la consulta, y traera consigo a los usuarios que se relacionen con la creacion.

SELECT u.id, u.name as user_name, p.name as product_name from users as u right join products as p on u.id = p.created_by;
SELECT u.id, u.name as user_name, p.name as product_name from products as p left join users as u on u.id = p.created_by;
id user_name product_name
1 Admin sandia
1 Admin pera
2 Juan manzana
3 Felipe fresa
null null melon