11 de mar. de 2021

Utilizando ALIAS

    Já vimos como fazer uma consulta básica utilizando SQL no neste tópico, agora vamos aprofundar o conhecimento.

    Muitas vezes temos nomes de colunas que não são muito amigáveis para exibição. Por exemplo, podemos ter o nome de uma coluna em outro idioma do qual queremos exibir os resultados da consulta, nesse caso, podemos criar uma solução com a utilização de um alias. Um alias basicamente é um apelido para a coluna, que é válido para a exibição dos resultados da consulta em questão.

    Exemplo prático, utilizando a tabela EMPLOYEES do schema HR, precisamos retornar apenas 5 colunas, para isso basta escrever o nome das colunas que queremos exibir separadas por virgula ( , ).


O resultado é exibido com o nome das colunas em letra maiúsculas.

Para utilizar um alias podemos simplesmente incluir a palavra que queremos exibir após o nome da coluna e antes da virgula (,). Contudo, existem algumas regras.

Se for um nome composto ou que possua caracteres especiais devemos colocar entre aspas duplas ( " )

Se for necessário manter a formatação de maiúsculas e minúsculas também devemos utilizar as aspas duplas, caso o alias seja colocado sem aspas duplas, será sempre exibido em letras maiúsculas.



No exemplo acima, podemos ver vários exemplos de alias em uso. A sintaxe básica é:

coluna AS "alias"

A palavra reservada AS pode ser omitida, bem como as aspas duplas em alguns casos.

Os alias não podem ser utilizados na cláusula WHERE, porem, podemos utilizá-los na cláusula ORDER BY.


Ao tentar utilizar um alias no WHERE temos como retorno o erro: ORA-00904.

Abaixo exemplo utilizando o alias na ordenação.


Por que podemos utilizar um alias na ordenação mas não na filtragem?

    Isso ocorre pela maneira como o Oracle executa a consulta. Primeiro é realizada a busca na tabela pelas condições de filtragem, ou seja, os dados que estão na cláusula WHERE, após isso os dados são preparados para exibição, nesse ponto entra o alias para a coluna, e por fim a ordenação dos dados e nesse ponto o alias já existe para a coluna.




Nenhum comentário:

Postar um comentário