Um JOIN é um método abstrato (ou seja, não é nada que fisicamente existe no banco de dados) que ocorre apenas durante a consulta em questão (sem trocadilhos ). JOIN é usado em consultas que abrangem várias tabelas que têm referências entre si. *Não é necessário ter referências para que um JOIN funcione. O que JOIN faz é simplesmente unir tabelas direcionadas, fornecendo um conjunto de dados mais amplo para selecionar valores.
Os tipos comuns de junções são INNER JOIN, OUTER JOIN, LEFT JOIN, RIGHT JOIN e CROSS JOIN. O usado em sua pergunta anterior era um CROSS JOIN, embora a palavra-chave em si tenha sido deixada de fora. Ou seja:
SELECT A.name, B.name FROM table1 A, table2 B
--uma junção cruzada implícita. SELECT A.country, B.country FROM iteration1 A CROSS JOIN iteration2 B
é explícito. É apenas uma questão de gosto. Geralmente, as junções criam grandes conjuntos de dados e você precisa pinar suas consultas (usando WHERE ou similar) para extrair os dados que está procurando.