A palavra-chave INNER JOIN retorna linhas quando há pelo menos uma correspondência em ambas as tabelas.
Cláusula MySQL INNER JOIN
A cláusula MySQL INNER JOIN combina linhas em uma tabela com linhas em outras tabelas e permite que você consulte linhas que contenham colunas de ambas as tabelas.
A cláusula MySQL INNER JOIN é uma parte opcional da instrução SELECT. Ele aparece imediatamente após a cláusula FROM.
Antes de usar a cláusula MySQL INNER JOIN, você deve especificar os seguintes critérios:
Primeiro, você precisa especificar a tabela principal que aparece na cláusula FROM. Em segundo lugar, você precisa especificar as tabelas que deseja unir à tabela principal, que aparecem na cláusula INNER JOIN. Teoricamente, você pode juntar uma mesa com muitas mesas. No entanto, para um melhor desempenho de consulta, você deve limitar o número de tabelas para junção. Terceiro, você precisa especificar a condição de junção ou o predicado de junção. A condição de junção aparece após a palavra-chave ON da cláusula INNER JOIN. A condição de junção é a regra para correspondência de linhas entre a tabela principal e as outras tabelas.
Exemplo
SELECT c.cid, c.course_desc, user.name FROM AM_COURSE c
INNER JOIN AM_INTER inter on inter.cid = c.cid
INNER JOIN AM_USER user on user.uid = inter.uid
INNER JOIN AM_TIMETABLE tt ON inter.cid = tt.UserId
WHERE c.Name = 'coursename' AND tt.Date_Time BETWEEN '2011-08-12' AND '2012-08-12'