select id from funcionario where departamento_id = 10 order by nome desc; neste caso o campo nome não deveria estar na lista de campos para ser utilizado no order by ? ```
select id from funcionario where departamento_id = 10 order by nome desc; neste caso o campo nome não deveria estar na lista de campos para ser utilizado no order by ? ```
Embora a coluna nome não está nas colunas que serão selecionadas podemos utiliza-la normalmente no where.
Apenas complementando a resposta do Daniel:
SQL> desc pessoas;
Name Type Nullable Default Comments
---- ------------- -------- ------- --------
ID NUMBER Y
NOME VARCHAR2(100) Y
O que você não conseguiria fazer, é ordenar pela sequência da coluna, que não é retornada na querie, conforme abaixo:
OK:
SQL> select * from pessoas;
ID NOME
---------- --------------------------------------------------------------------------------
1 Trevisolli
2 Maria
Erro:
select id from pessoas order by 2;
ORA-01785: o item ORDER BY deve ser o número de uma expressão SELECT -list
Agora um cenário de ordenação por sequência ok:
SQL> select id, nome from pessoas order by 2;
ID NOME
---------- --------------------------------------------------------------------------------
2 Maria
1 Trevisolli