Table des matières
Oracle ORDER BY子句的例子
Exemple de clause Oracle ORDER BY
Maison base de données Oracle Comment trier les résultats d'une requête dans Oracle

Comment trier les résultats d'une requête dans Oracle

Jan 13, 2022 am 11:33 AM
oracle

Dans Oracle, vous pouvez utiliser l'instruction "SELECT" et la clause "ORDER BY" pour trier la requête. Vous pouvez trier l'ensemble de résultats de la requête d'une ou plusieurs colonnes par ordre croissant ou décroissant. FROM nom de la table de données. ORDER BY nom du champ [ASC|DESC]".

Comment trier les résultats d'une requête dans Oracle

L'environnement d'exploitation de ce tutoriel : système Windows 7, version Oracle 11g, ordinateur Dell G3.

Dans Oracle, vous pouvez utiliser l'instruction "SELECT" et la clause "ORDER BY" pour effectuer le tri des requêtes.

Dans Oracle, les enregistrements de données de ligne sont stockés dans la table dans un ordre non spécifié, quel que soit l'ordre dans lequel les lignes sont insérées dans la base de données. Pour interroger les enregistrements de ligne par colonne dans l'ordre croissant ou décroissant, vous devez indiquer explicitement à la base de données Oracle comment trier.

Par exemple, vous souhaiterez peut-être répertorier tous vos clients par ordre alphabétique par nom, ou afficher tous vos clients par ordre décroissant de limite de crédit la plus basse à la plus élevée.

Pour trier les données interrogées, ajoutez la clause ORDER BY à l'instruction SELECT comme suit. ORDER BY子句添加到SELECT语句中。

ORDER BY子句可以按升序或降序对一列或多列的结果集进行排序。

语法:

SELECT
    字段名,
FROM
    table_name
ORDER BY
    字段名 [ASC | DESC] [NULLS FIRST | NULLS LAST]
Copier après la connexion

要按列排序结果集,可以在ORDER BY子句之后列出该列。

按照列名是一个排序顺序,可以是:

  • ASC 表示按升序排序

  • DESC 表示按降序排序

默认情况下,无论是否指定ASCORDER BY子句都按升序对行进行排序。如果要按降序对行进行排序,请明确使用DESC

NULLS FIRST在非NULL值之前放置NULL值,NULLS LAST在非NULL值之后放置NULL值。

ORDER BY子句可以按多列对数据进行排序,每列可能有不同的排序顺序。

请注意,ORDER BY子句总是SELECT语句中的最后一个子句。

Oracle ORDER BY子句的例子

下面将使用示例数据库中的customers表进行演示。

Comment trier les résultats dune requête dans Oracle

以下语句从客户(customers)表中检索客户的:name, addresscredit limit

SELECT name, address, credit_limit FROM customers;
Copier après la connexion

执行上面查询语句,得到以下结果 -

Comment trier les résultats dune requête dans Oracle

正如截图中所看到的,行记录的顺序是未指定的。

1、按列排序行示例

要按照字母顺序按升序排列客户名称,请使用以下语句:

SELECT name,address,credit_limit
FROM customers
ORDER BY name ASC;
Copier après la connexion

执行上面示例代码,得到以下结果 -

Comment trier les résultats dune requête dans Oracle

ASC指示Oracle按升序对行进行排序。但是ASC是可选的,如果省略,则在默认情况下,ORDER BY子句按指定的列按升序对行进行排序。

因此,下面的表达式:

ORDER BY name ASC
Copier après la connexion

等效于 -

ORDER BY name
Copier après la connexion

要按字母顺序降序排列客户名称,请在ORDER BY子句中的列名之后显式使用DESC,如下所示:

SELECT name, address, credit_limit
FROM customers
ORDER BY name DESC;
Copier après la connexion

执行上面查询语句,得到以下结果 -

Comment trier les résultats dune requête dans Oracle

2、按多个列排序行示例

要对多列进行排序,可以用逗号分隔ORDER BY子句中的每列。

请参阅示例数据库中的以下联系人(contacts)表。

例如,要按first_name进行按升序排序,并按降序对last_name列进行排序,请使用以下语句:

SELECT first_name, last_name
FROM contacts
ORDER BY first_name, last_name DESC;
Copier après la connexion

执行上面示例代码,可以看到如下结果 -

Comment trier les résultats dune requête dans Oracle

从上面截图中可以看到,contact_id91311这两条记录的first_name的值相同,last_name的值是以降序来排列的。

在这个例子中,Oracle首先按first_name升序对行进行排序,以创建初始结果集。 然后Oracle按降序对last_name

La clause ORDER BY peut trier l'ensemble de résultats d'une ou plusieurs colonnes par ordre croissant ou décroissant.

Syntaxe :

SELECT name, credit_limit,address
FROM customers
ORDER BY 2 DESC, 1;
Copier après la connexion
Copier après la connexion
Comment trier les résultats dune requête dans OraclePour trier le résultat défini par une colonne, vous pouvez lister la colonne après la clause ORDER BY.

Il s'agit d'un ordre de tri selon le nom de la colonne, qui peut être :

  • 🎜ASC signifie trier par ordre croissant 🎜
  • 🎜DESC signifie trier par ordre décroissant🎜
🎜Par défaut, que ASC soit spécifié ou non, < Les clauses code>ORDER BY trient toutes les lignes par ordre croissant. Si vous souhaitez trier les lignes par ordre décroissant, utilisez explicitement DESC.
🎜🎜NULLS FIRST place les valeurs NULL avant les valeurs non NULL, NULLS LAST avant non-< Placez la valeur NULL après la valeur code>NULL. 🎜🎜La clause ORDER BY peut trier les données sur plusieurs colonnes, et chaque colonne peut avoir un ordre de tri différent. 🎜🎜Veuillez noter que la clause ORDER BY est toujours la dernière clause de l'instruction SELECT. 🎜

Exemple de clause Oracle ORDER BY

🎜Ce qui suit utilisera la table clients dans l'exemple de base de données à des fins de démonstration. 🎜🎜Comment trier les résultats dune requête dans Oracle🎜🎜Le suivant L'instruction récupère le client : nom, adresse et limite de crédit de la table clients (clients) : 🎜
SELECT name, credit_limit,address
FROM customers
ORDER BY credit_limit DESC, name;
Copier après la connexion
Copier après la connexion
🎜 Exécutez l'instruction de requête ci-dessus et obtenez les résultats suivants :🎜🎜 Comment trier les résultats dune requête dans Oracle🎜🎜Comme vous pouvez le voir sur la capture d'écran, l'ordre des enregistrements de lignes n'est pas spécifié. 🎜🎜1. Exemple de tri des lignes par colonne🎜🎜Pour trier les noms des clients par ordre alphabétique croissant, utilisez l'instruction suivante : 🎜
SELECT country_id, city, state
FROM locations 
ORDER BY state DESC;
Copier après la connexion
Copier après la connexion
🎜Exécutez l'exemple de code ci-dessus et obtenez les résultats suivants :🎜🎜Comment trier les résultats dune requête dans Oracle🎜🎜ASC demande à Oracle de trier les lignes par ordre croissant. Mais ASC est facultatif, et si elle est omise, par défaut, la clause ORDER BY trie les lignes par colonne spécifiée dans l'ordre croissant. 🎜🎜Ainsi, l'expression suivante : 🎜
SELECT country_id, city, state
FROM
    locations
ORDER BY
    state ASC NULLS FIRST;
Copier après la connexion
Copier après la connexion
🎜 équivaut à -🎜
SELECT country_id, city, state
FROM
    locations
ORDER BY
    state ASC NULLS LAST;
Copier après la connexion
Copier après la connexion
🎜 Pour trier les noms de clients par ordre alphabétique décroissant, utilisez explicitement après le nom de la colonne dans le code de la clause <code>ORDER BY> DESC, comme indiqué ci-dessous : 🎜
SELECT customer_id, name
FROM customers
ORDER BY UPPER( name );
Copier après la connexion
Copier après la connexion
🎜Exécutez l'instruction de requête ci-dessus et obtenez les résultats suivants -🎜🎜Comment trier les résultats dune requête dans Oracle🎜🎜2. Exemple de tri des lignes sur plusieurs colonnes🎜🎜Pour trier plusieurs colonnes, vous pouvez séparer chaque colonne dans la clause ORDER BY par une virgule. 🎜🎜Voir le tableau de contacts (contacts) suivant dans l'exemple de base de données. 🎜🎜Par exemple, pour trier par first_name par ordre croissant et la colonne last_name par ordre décroissant, utilisez l'instruction suivante : 🎜rrreee🎜Exécutez l'exemple de code ci-dessus, vous pouvez voir Obtenez le résultat suivant-🎜🎜Comment trier les résultats dune requête dans Oracle 🎜🎜Comme vous pouvez le voir sur la capture d'écran ci-dessus, contact_id est le first_name des deux enregistrements 91 et 311< /code> Les valeurs sont les mêmes et les valeurs de <code>last_name sont classées par ordre décroissant. 🎜🎜Dans cet exemple, Oracle trie d'abord les lignes par first_name par ordre croissant pour créer l'ensemble de résultats initial. Oracle trie ensuite le résultat initial défini sur last_name par ordre décroissant. 🎜🎜Voir des résultats similaires à celui ci-dessous : 🎜🎜🎜🎜🎜Dans ce résultat ci-dessus : 🎜
  • 首先,按first_name升序排序。
  • 其次,如果两个名字相同,按last_name降序排列,如Daniel GlassDaniel CostnerDianne SenDianne DerekDoretha TylerDorotha Wong

3、按列位置排序行示例

不需要指定用于排序数据的列名称。如果您愿意,可以使用ORDER BY子句中列的位置。

请参考下语句 -

SELECT name, credit_limit,address
FROM customers
ORDER BY 2 DESC, 1;
Copier après la connexion
Copier après la connexion

在这个例子中,name列的位置是1credit_limit列的位置是2。相当于以下查询语句 -

SELECT name, credit_limit,address
FROM customers
ORDER BY credit_limit DESC, name;
Copier après la connexion
Copier après la connexion

ORDER BY子句中,使用这些列位置来指示Oracle对行进行排序。

4、用NULL值排序行的示例

请参阅示例数据库中的以下地区(locations)表:

Comment trier les résultats dune requête dans Oracle

以下语句按城市(city)和州(state)检索位置并对其进行排序:

SELECT country_id, city, state
FROM locations 
ORDER BY state DESC;
Copier après la connexion
Copier après la connexion

执行上面查询语句,得到以下结果 -

Comment trier les résultats dune requête dans Oracle

state列有NULL值,这意味着state数据与某些城市(例如:Beijing, HiroshimaLondon)无关。

当使用非NULL值对混合NULL进行排序时,Oracle允许指定哪个应该首先出现。

例如,以下语句按升序对state列进行排序,并首先将NULL值放置在前面。

SELECT country_id, city, state
FROM
    locations
ORDER BY
    state ASC NULLS FIRST;
Copier après la connexion
Copier après la connexion

要放置NULL值在后面,可以使用NULLS LAST,如下面的语句所示:

SELECT country_id, city, state
FROM
    locations
ORDER BY
    state ASC NULLS LAST;
Copier après la connexion
Copier après la connexion

执行上面示例查询语句,得到以下结果:

Comment trier les résultats dune requête dans Oracle

5、按函数或表达式排序数据

ORDER BY子句可在一列上应用一个函数,例如字符串函数,数学函数等,并按函数的结果对数据进行排序。

例如,以下语句使用ORDER BY子句中的UPPER()函数来区分客户名称的大小写:

SELECT customer_id, name
FROM customers
ORDER BY UPPER( name );
Copier après la connexion
Copier après la connexion

执行上面查询语句,得到以下结果 -

Comment trier les résultats dune requête dans Oracle

推荐教程:《Oracle教程

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment importer une base de données Oracle Comment importer une base de données Oracle Apr 11, 2025 pm 08:06 PM

Méthode d'importation de données: 1. Utilisez l'utilitaire SqlLoader: Préparez les fichiers de données, créez des fichiers de contrôle et exécutez SqlLoader; 2. Utilisez l'outil IMP / EXP: les données d'exportation, les données d'importation. Astuce: 1. Chargeur SQL * recommandé pour les ensembles de Big Data; 2. La table cible doit exister et la définition de la colonne correspond; 3. Après l'importation, l'intégrité des données doit être vérifiée.

Comment vérifier la taille de l'espace de table d'Oracle Comment vérifier la taille de l'espace de table d'Oracle Apr 11, 2025 pm 08:15 PM

Pour interroger la taille de l'espace de table Oracle, suivez les étapes suivantes: Déterminez le nom de l'espace de table en exécutant la requête: sélectionnez Tablespace_name dans dba_tablespaces; Requête la taille de l'espace de table en exécutant la requête: sélectionnez SUM (Bytes) comme total_size, sum (bytes_free) comme disponible_space, sum (bytes) - sum (bytes_free) comme used_space à partir de dba_data_files où tablespace_

Comment désinstaller l'installation d'Oracle a échoué Comment désinstaller l'installation d'Oracle a échoué Apr 11, 2025 pm 08:24 PM

Désinstaller la méthode pour la défaillance de l'installation d'Oracle: Fermez le service Oracle, supprimez les fichiers du programme Oracle et les clés de registre, désinstallez les variables d'environnement Oracle et redémarrez l'ordinateur. Si la désinstallation échoue, vous pouvez désinstaller manuellement à l'aide de l'outil Oracle Universal Disinstal.

Comment créer une table dans Oracle Comment créer une table dans Oracle Apr 11, 2025 pm 08:00 PM

La création d'une table Oracle implique les étapes suivantes: Utilisez la syntaxe de la table Create pour spécifier les noms de table, les noms de colonne, les types de données, les contraintes et les valeurs par défaut. Le nom du tableau doit être concis et descriptif et ne doit pas dépasser 30 caractères. Le nom de la colonne doit être descriptif et le type de données spécifie le type de données stocké dans la colonne. La contrainte non nulle garantit que les valeurs nulles ne sont pas autorisées dans la colonne, et la clause par défaut spécifie les valeurs par défaut pour la colonne. Contraintes de clé primaire pour identifier l'enregistrement unique du tableau. La contrainte de clé étrangère spécifie que la colonne du tableau fait référence à la clé primaire dans un autre tableau. Voir la création des élèves de la table de l'échantillon, qui contient des clés primaires, des contraintes uniques et des valeurs par défaut.

Comment afficher le nom d'instance d'Oracle Comment afficher le nom d'instance d'Oracle Apr 11, 2025 pm 08:18 PM

Il existe trois façons d'afficher les noms d'instance dans Oracle: utilisez le "SQLPlus" et "SELECT INSTRESS_NAME FROM V $ INSTERNE;" Commandes sur la ligne de commande. Utilisez "Show instance_name;" Commande dans SQL * Plus. Vérifiez les variables d'environnement (Oracle_sid sur Linux) via le gestionnaire de tâches du système d'exploitation, Oracle Enterprise Manager ou via le système d'exploitation.

Comment crypter Oracle View Comment crypter Oracle View Apr 11, 2025 pm 08:30 PM

Oracle View Encryption vous permet de crypter les données dans la vue, améliorant ainsi la sécurité des informations sensibles. Les étapes incluent: 1) la création de la clé de cryptage maître (MEK); 2) Création d'une vue cryptée, spécifiant la vue et MEK à crypter; 3) Autoriser les utilisateurs à accéder à la vue cryptée. Comment fonctionnent les vues cryptées: lorsqu'un utilisateur interroge pour une vue cryptée, Oracle utilise MEK pour décrypter les données, garantissant que seuls les utilisateurs autorisés peuvent accéder aux données lisibles.

Comment remettre à nouveau Oracle Comment remettre à nouveau Oracle Apr 11, 2025 pm 07:33 PM

Oracle fournit plusieurs méthodes de requête de déduplication: le mot-clé distinct renvoie une valeur unique pour chaque colonne. Le groupe par clause regroupe les résultats et renvoie une valeur non réactive pour chaque groupe. Le mot-clé unique est utilisé pour créer un index ne contenant que des lignes uniques, et l'interrogation de l'index sera automatiquement déducteur. La fonction ROW_NUMBER () attribue des nombres uniques et filtre les résultats qui contiennent uniquement la ligne 1. La fonction min () ou max () renvoie les valeurs non réactives d'une colonne numérique. L'opérateur intersecte renvoie les valeurs communes des deux ensembles de résultats (pas de doublons).

Comment lire le rapport Oracle AWR Comment lire le rapport Oracle AWR Apr 11, 2025 pm 09:45 PM

Un rapport AWR est un rapport qui affiche les performances de la base de données et les instantanés d'activité. Les étapes d'interprétation comprennent: l'identification de la date et de l'heure de l'instantané d'activité. Consultez un aperçu des activités et de la consommation de ressources. Analyser les activités de session pour trouver des types de session, la consommation de ressources et les événements d'attente. Trouvez des goulots d'étranglement potentiels de performance tels que des instructions SQL lentes, des problèmes de ressources et des problèmes d'E / S. Affichez les événements d'attente, identifiez-les et résolvez-les pour les performances. Analyser les modèles d'utilisation des verrous et de la mémoire pour identifier les problèmes de mémoire qui causent des problèmes de performances.

See all articles