-
Gabarito definitivo? Até onde eu sei, pode. Ex:
SELECT prof.nome
FROM PROFESSORES prof
WHERE prof.idade > 55
-
Inclusive o Aliás de nome de coluna pode ser usado.
-
SELECT NOME N
FROM TESTE
WHERE N LIKE '%MARIA%'
Não é permitido. Me corrijam se eu estiver errado.
-
Acredito que sim. Pois é o alias que é tradado na questão é referente ao NOME DA COLUNA e NÃO o alias para NOME DA TABELA.
Beijamin, você está usando o alias para apelidar o nome da tabela e não da coluna.
Eu nunca vi uso prático de um alias ser usado como nome de coluna. Sempre usei para nomear tabelas. Mas seguindo a lógica apontada por Silas, parece coerente. Pelo menos no pl-sql não é permitido não sei em outros bancos. Como se trata de "linguagENS" de manipulação de dados. Se houver 1 que permita muda a resposta da questão. Mas pelo que me parece, não é permitido em âmbito geral.
-
Entendi Paulo, passei batido nesse detalhe. Valeu.
-
Acredito que o autor queria dizer que não se pode definir um "AS" após a cláusula WHERE. porque o apelido é definido antes do WHERE, porém pode-se usar o apelido desde que tenha sido definido antes"essa seria a logica". enfim da forma como está definido o argumento da questão, usar um apelido na cláusula não é possível. os exemplos disponíveis na internet estão relacionados aos apelidos de tabela e não de coluna, porém há exemplos de definição do apelido de coluna. se é possível definir, por que não será possível usa-los ?
-
Como não foi dito nada em relação a produto SGBD, creio que está se utilizando o ANSI. Nesse caso, olhem esse artigo:
http://www.itnerante.com.br/profiles/blogs/d-vidas-sql-fgv-parte-4-de-9999
De acordo com o Eduardo, no caso de ANSI, o alias (apelido) só pode ser utilizado no contexto do order by
-
Pessoal, a cláusula FROM é a primeira instrução a ser processada em um comando SQL. A última é a cláusula SELECT como mostrada na sequencia abaixo. Por isso que não podemos usar alias de coluna na cláusula WHERE, pois o engine do banco ainda não processou as colunas do SELECT. (isso para o SQL SERVER. Creio que nos demais bancos seja assim também).
1 - FROM
2 - WHERE
3 - GROUP BY
4 - HAVING
5 - SELECT
-
pode sim
SELECT CustomerName, Country C FROM Customers
WHERE C='Mexico';
se quiserem testar:
https://www.w3schools.com/sql/trysql.asp?filename=trysql_select_where
-
Questão deixa a desejar ao se falar em USAR - não pode ser utilizado.
Apelido ou column alias não pode ser utilizado na cláusula WHERE.
Pode sim. O que não se pode é CRIAR um alias no WHERE. Usar claro que podemos, desde que não seja um ALIAS oriundo de um SELECT. Copiarei o exemplo do colega Benjamim:
SELECT prof.nome
FROM PROFESSORES prof
WHERE prof.idade > 55
Comando perfeitamente válido. O problema é que quem faz a questão não conhece SQL e copia um texto fora de contexto de algum livro. Certamente esse trecho do livro se referia a um SELECT ou usava a palavra CRIAR...
Cuidado para não desaprenderem com esse tipo de questão. Melhor errar essa e manter o conhecimento correto para não errar na prova.
Poderíamos ir além para ANULAR ou mudar o gabarito. Seria possível sim criar um ALIAS em um WHERE através de um SUBQUERY por exemplo:
SELECT prof.nome
FROM PROFESSORES prof
WHERE prof.idade > 55 and prof.formacao IN (SELECT form.nome FROM FORMACAO form)
-
Usado pode. Nâo pode ser é criado!!! O seguinte código rodou de boa no Oracle18c.
SELECT * FROM pessoa p -- aqui criei o ALIAS "p"
WHERE p.cpf > 1 -- Aqui, no WHERE, usei o alias "p"
Capotaria de voadeira com recurso nessa questão!!!