1
resposta

dúvidas ORDER BY

Quando eu tenho por exemplo a query abaixo , como funciona o fluxo de ordenação dos dados? ele ordena com o dado1 depois reordena com o dado 2 , isso não fico muito claro pra mim na aula . Obrigada !

Select * from table 
order by dado1,dado2.
1 resposta

Lilian, boa tarde!

O SQL vai primeiro organizar a primeira coluna e logo depois organizar baseado na segunda coluna, como no exemplo abaixo:

mysql> select * from Teste order by sexo;
+---------+-------+-----------+
| nome    | idade | sexo      |
+---------+-------+-----------+
| Carla   |    20 | Feminino  |
| Andreia |    45 | Feminino  |
| Felipe  |    18 | Masculino |
| Felipe  |    19 | Masculino |
| Fábio   |    17 | Masculino |
+---------+-------+-----------+

Os nome não estão na ordem, para isso nós podemos colocar o nome como segundo meio de organização

select * from Teste order by sexo, nome asc;
+---------+-------+-----------+
| nome    | idade | sexo      |
+---------+-------+-----------+
| Andreia |    45 | Feminino  |
| Carla   |    20 | Feminino  |
| Fábio   |    17 | Masculino |
| Felipe  |    18 | Masculino |
| Felipe  |    19 | Masculino |
+---------+-------+-----------+

Assim temos uma lista duplamente organizada hehe, perceba também que é necessário definir a forma em que deve ser organizado, com ASC ou DESC

Espero ter ajudado e bons estudos!