2.3. Relacionando duas ou mais tabelas

Em SQL, o mesmo nome pode ser usado para dois (ou mais) atributos, desde que estes estejam em relações diferentes. Se isso acontecer, e uma consulta em múltiplas tabelas se referir a dois ou mais atributos com o mesmo nome, é preciso qualificar o nome do atributo com o nome da relação, para evitar ambiguidade. Isso é feito prefixando o nome da relação ao nome do atributo e separando os dois por um ponto, ou seja, no formato NOME_DA_TABELA.NOME_DO_CAMPO.

Por exemplo, note que as tabelas MATRÍCULA e ALUNO possuem o campo ID_Turma, caso uma operação SQL envolvesse ambos os campos, seria necessário identifica-los por meio do nome da tabela dessa forma: MATRICULA.ID_Turma e ALUNO.ID_Aluno. Assim, o SGBD saberia interpretar de qual ID_Turma você está falando ao construir a sua instrução SQL.

Sempre que houver campos com mesmo nome, precisaremos informar o nome da tabela. Vamos ver isso na prática.

Nosso próximo exemplo envolve duas tabelas, iremos apresentar a matrícula dos alunos, os nomes, o número da turma e a série. Para tal consulta, precisaremos especificar as tabelas e os campos a serem apresentados bem como a cláusula de relação de interdependência entre essas tabelas (determinada pelas chaves primárias e estrangeiras da relação).

Há duas formas de fazer isso, utilizando a cláusula WHERE ou a cláusula JOIN (veremos o uso da cláusula JOIN no próximo módulo).

Copyright © 2014 AIEC.