Red Hat Training

A Red Hat training course is available for Red Hat JBoss Enterprise Application Platform

12.4.16. SQL Ordering

Les résultats de la demande peuvent également être ordonnancés. La clause ORDER BY est utilisée pour spécifier les valeurs sélectionnées à utiliser pour ordonnancer le résultat. Les types d'expressions considérées comme valides pour la clause order-by sont les suivantes :
  • champs d'état
  • attributs composant/intégré
  • expressions scalaires comme les opérations arithmétiques, les fonctions, etc.
  • variable d'identification déclarée dans la clause Select pour n'importe quel type d'expression antérieure.
HQL ne prescrit pas que toutes les valeurs référencées dans la clause orde-by doivent être nommées dans la clause Select, mais ceci est requis dans JPQL. Les applications désireuses de portabilité de base de données doivent noter que toutes les bases de données ne prennent pas en charge les valeurs de références dans la clause order-by qui ne sont pas référencées dans la clause select
Les expressions individuelles d'order-by peuvent être soit qualifiées par ASC (ascendant) ou DESC (descendant) pour indiquer la direction d'ordonnancement désirée.

Exemple 12.20. Exemple Order-by

// legal because p.name is implicitly part of p
select p
from Person p
order by p.name

select c.id, sum( o.total ) as t
from Order o
    inner join o.customer c
group by c.id
order by t