Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Duvida sobre a declaração.

Boa noite no exercício 06 Funcionários com departamento.

Uma das alternativas esta declarada desta forma:

SELECT funcionarios.nome AS "Nome do Funcionário", departamentos.nome AS "Departamento" FROM funcionarios JOIN departamentos ON funcionarios.departamento_id = departamentos.id

Existe alguma razão em especial para ter declarado com um ponto entre as palavras ou foi só uma escolha de como declara?

Pergunto porque durante as aulas não haviam declarações desta forma.
2 respostas
solução!

Sim, isso mesmo. Existe uma razão em especial. Como ambas as tabelas possuem a coluna NOME, você tem que especificar de qual tabela você está falando. Se você apenas colocar NOME, o banco de dados acusa erro de ambiguidade, porque ele não consegue saber se é o nome do empregado ou o nome do departamento. O banco de dados consegue saber de qual tabela você está se referindo, isso acontece só nesses casos mesmo, quando os nomes das colunas são exatamente iguais. Particularmente eu gosto de sempre usar declarações desse tipo TABELA.COLUNA, acho que fica mais legível e elegante, mesmo quando não há ambiguidade na consulta.

Muito obrigado pelo esclarecimento Heriberto.