Tipos de JOINs em SQL

FULL OUTER JOIN

LEFT OUTER JOIN

RIGHT OUTER JOIN

INNER JOIN

CROSS JOIN

NATURAL ... JOIN

SELF ... JOIN

O SELF JOIN não existe como um comando, mas existe como um conceito.

Ele significa basicamente fazer um JOIN de uma tabela com ela mesma

...FROM batata AS b1JOIN batata AS b2 ON b1.origem_batata = b2.origem_batata...

... JOIN LATERAL

O LATERAL JOIN não é exatamente um JOIN, mas uma forma diferente e eficiente de fazer certas subqueries.

Referências

CROSS JOIN no PostgreSQL
https://www.postgresqltutorial.com/postgresql-cross-join/

INNER JOIN no PostgreSQL
https://www.postgresqltutorial.com/postgresql-inner-join/

LEFT OUTER JOIN no PostgreSQL
https://www.postgresqltutorial.com/postgresql-left-join/

RIGHT OUTER JOIN no PostgreSQL
https://www.postgresqltutorial.com/postgresql-right-join/

FULL OUTER JOIN
https://www.postgresqltutorial.com/postgresql-full-outer-join/

SELF ... JOIN no PostgreSQL
https://www.postgresqltutorial.com/postgresql-self-join/

NATURAL ... JOIN
https://www.postgresqltutorial.com/postgresql-natural-join/

... JOIN LATERAL
https://heap.io/blog/postgresqls-powerful-new-join-type-lateral

Diferençad entre LATERAL e SUBQUERY
https://stackoverflow.com/questions/28550679/what-is-the-difference-between-lateral-join-and-a-subquery-in-postgresql

You should also read: