Acredito que a maneira como foi passada a informação de que sempre que colocamos um distinct
em qualquer campo no select
somos obrigados a utilizá-lo no order by
pode causar confusão.
Acredito que o mais adequado seria dizer que quando utilizamos o distinct
, só é permitido utilizar no order by
os campos trazidos no select
.
Ou seja, no seguinte comando:
select distinct salario + vale_refeicao, nome from funcionarios
Poderiam ser utilizadas as seguintes cláusulas de ordenação:
order by salario + vale_refeicao
ou
order by nome
ou
order by salario + vale_refeicao, nome
ou
order by nome, salario + vale_refeicao
Porém, não poderiam ser utilizados:
order by salario
ou ainda
order by id
Pois esses dados não foram utilizados no select
Está correto?