Nosso exemplo seria representado da seguinte forma:
| C4 - Recuperar a matrícula, o nome, a turma e a série de todos os alunos. |
SELECT Matricula, Nome, Numero, Serie
FROM ALUNO, TURMA
WHERE ALUNO.ID_TURMA = TURMA.ID_TURMA
Neste exemplo, o uso da condição ALUNO.ID_Turma = TURMA.ID_Turma faz com que as tabelas ALUNO e TURMA sejam inter-relacionadas e o resultado comum a elas apresentado. Neste caso, a cláusula WHERE não teve um efeito “filtragem e seleção” de registros, mas sim de relacionar duas tabelas. O SGBD irá processar essa consulta identificando o ID_TURMA de cada aluno e depois percorrendo a tabela TURMA para localizar o número e a série dos alunos. O resultado esperado para essa consulta é:
| Matricula | Nome | Numero | Serie |
|---|---|---|---|
| 14562/2 | Thiago Ferreira Borges | 5-1 | 5a |
| 432/2 | Isadora Luccas Fernandes | 7-1 | 7a |
| 4539/1 | Mariana | 6-1 | 6a |
Perceba um detalhe muito importante da resposta desse processamento: o aluno “Marcelo Correia Luz” por não possuir nenhuma turma, foi excluído da resposta da consulta. Isso acontece porque não há uma expressão verdadeira para a relação dele com as tuplas presentes em turma, a relação dele com turma é nula. Dessa forma, a relação dele é caracterizada como FALSA e, portanto, excluída da resposta da relação. Para resolver essa questão será necessário utilizar a cláusula LEFT JOIN que veremos futuramente.