2.4. Nomes de atributos ambíguos, apelido e renomeação de atributos
Quando uma consulta utiliza campos de mesmo nome, podemos utilizar um “apelido” (alias) para renomear as colunas. Por exemplo, suponha que uma consulta relacione as tabelas HISTORICO_ESCOLAR e DISCIPLINA, onde os campos Nome de ambas as tabelas sejam apresentadas como resultado. Para não haver confusão, podemos renomear a informação consultada como, por exemplo, para Aluno e Disciplina ou “Nome do aluno” e “Nome da Disciplina”.
Para tal funcionalidade, usamos o operador AS <novo nome> logo após o nome do campo na instrução de SELECT. Dessa forma a instrução: SELECT ALUNO.Nome AS ‘Nome do Aluno’, DISCIPLINA.Nome AS ‘Nome da Disciplina’ FROM ... substitui os nomes originais dos campos pelos novos nomes.
Quando o novo nome é composto de apenas uma palavra, como NomeDoAluno ou Aluno, onde não há espaços em branco, não é necessário utilizar aspas para delimitar o novo nome, já quando você deseja utilizar mais de uma palavra, e consequentemente haverá espaços em branco entre elas, obrigatoriamente será necessário colocar o novo termo entre aspas simples. Observe que isso foi feito no exemplo acima. Dessa forma, observe os seguintes exemplos abaixo:
SELECT ALUNO.Nome AS Aluno -> é válido, pois ‘aluno’ é uma palavra sem espaços em branco.SELECT ALUNO.Nome AS NomeDoAluno -> é válido, pois ‘NomeDoAluno’ não contém espaços.SELECT ALUNO.Nome AS Nome_do_aluno -> é válido, pois ‘Nome_do_Aluno’ não contém espaços, o sublinhado substitui o espaço em branco com um caractere válido.SELECT ALUNO.Nome AS Nome do aluno -> é inválido, pois ‘Nome do Aluno’ contém espaços em branco.SELECT ALUNO.Nome AS ‘Nome do aluno’ -> é válido, pois foi utilizado aspas para delimitar o atributo.SELECT ALUNO.Nome AS ‘Aluno’ -> é válido, pois mesmo não precisando, foi utilizado aspas para delimitar o atributo.SELECT ‘ALUNO’.‘Nome’ AS ‘Aluno’ -> é válido, pois mesmo não precisando, foi utilizado aspas para delimitar o atributo e o nome do campo original.SELECT ‘ALUNO.Nome’ AS ‘Aluno’ -> é inválido, pois cada componente deve ser individualmente delimitado por aspas, não podemos juntar o nome da tabela e o campo entre aspas.Observação: é possível nomear uma tabela como “TABELA DE ALUNOS” ou mesmo um campo como “Nome do aluno”, ou seja, utilizando espaços em branco. Isso não é uma boa prática, mas é possível. Ao fazer isso, as instruções SQL sempre precisarão utilizar aspas simples para identificar essas tabelas e campos. Exemplo: SELECT ‘Nome do aluno’ FROM ‘Tabela de alunos’. Evite ao máximo utilizar espaços em branco nos nomes dos componentes de um banco de dados. Também jamais utilize caracteres acentuados ou cedilha para nomear tabelas, campos, índices etc.