No es de sorprender que son muchos los programadores o administradores de bases de datos quienes recién se inician, que el comprender las consultas relacionales entre distintas tablas puede resultar algo difícil de comprender, de visualizar.
Sabiendo que las imágenes se fijan mejor en nuestro cerebro que sólo leer, traigo a ustedes una adaptación del articulo escrito por mi colega Ligaya Turmelle en el año 2007 pero que cuya vigencia es válida aun hoy.
A continuación observemos estos diagramas de Venn y conozcamos los tipos de relaciones JOIN entre tablas de una base de datos.
La base: un diagrama vacío

El círculo T1 representa a todos los registros de la tabla 1 y el círculo T2 representa todos los registros de la tabla 2. Note como se sobrepone un poco en el medio, donde ambos círculos coinciden.
INNER JOIN
Un inner join sólo retorna los registros donde “conciden” entre las dos tablas. Así que por cada registro devuelto de T1 habrá uno enlazado por el foreign key con T2. En programación esto equivale al operador lógico AND.

OUTER JOIN
Un outer join es lo opuesto al inner join. Sólo retorna los registros que no están en T1 y T2, es decir: donde no coinciden. En programación esto equivale al NOT AND.

LEFT JOIN
LEFT JOIN devolverá todos los registros de la tabla izquierda (T1), sin importar si coincide o no con la tabla derecha (T2). Si llega a suceder una coincidencia con los registros en la tabla T2, pues los devolverá también. Si no, los rellenará con NULL.

Como podrán apreciar se puede realizar exactamente lo mismo con la tabla derecha T2, y se conoce como RIGHT JOIN, sin embargo en la mayoría de los casos sólo se usa el LEFT JOIN.
LEFT OUTER JOIN
Un left outer join combina los conceptos del left join y del outer join. Básicamente se obtendrán todos los registros de la tabla izquierda (T1) menos donde coincida con la tabla derecha (T2).

Nuevamente observe que lo mismo puede ser aplicado con la tabla derecha (T2), conocido entonces como RIGHT OUTER JOIN. Aunque la mayoría prefiera referirse a la tabla izquierda siempre.
THETA JOIN
Es el producto cartesiano entre las dos tablas, y seguramente no es lo que se desea, ya que puede provenir del resultado de una mala consulta y entonces obtener más registros de los que realmente esperaba.
SELECT t1.*, t2.*
FROM table1 t1, table2 t2
WHERE t1.id = 5;

Y allí lo tienen, quizá en el futuro cuando necesiten realizar relaciones entre tablas y necesiten una pista, espero este artículo les sea de ayuda.