OrientDB - Afficher les enregistrements

Semblable au SGBDR, OrientDB prend en charge différents types de requêtes SQL pour récupérer les enregistrements de la base de données. Lors de la récupération des enregistrements, nous avons différentes variantes ou options de requêtes avec l'instruction select.

L'instruction suivante est la syntaxe de base de la commande SELECT.

SELECT [ <Projections> ] [ FROM <Target> [ LET <Assignment>* ] ] 
   [ WHERE <Condition>* ] 
   [ GROUP BY <Field>* ] 
   [ ORDER BY <Fields>* [ ASC|DESC ] * ] 
   [ UNWIND <Field>* ] 
   [ SKIP <SkipRecords> ] 
   [ LIMIT <MaxRecords> ] 
   [ FETCHPLAN <FetchPlan> ] 
   [ TIMEOUT <Timeout> [ <STRATEGY> ] ]
   [ LOCK default|record ] 
   [ PARALLEL ] 
   [ NOCACHE ]

Voici les détails des options de la syntaxe ci-dessus.

<Projections> - Indique les données que vous souhaitez extraire de la requête en tant que jeu d'enregistrements de résultats.

FROM- Indique l'objet à interroger. Cela peut être une classe, un cluster, un ID d'enregistrement unique, un ensemble d'ID d'enregistrement. Vous pouvez spécifier tous ces objets comme cible.

WHERE - Spécifie la condition pour filtrer l'ensemble de résultats.

LET - Indique la variable de contexte utilisée dans les projections, les conditions ou les sous-requêtes.

GROUP BY - Indique le champ pour regrouper les enregistrements.

ORDER BY - Indique le fichier pour organiser un enregistrement dans l'ordre.

UNWIND - Désigne le champ sur lequel dérouler la collection d'enregistrements.

SKIP - Définit le nombre d'enregistrements que vous souhaitez ignorer depuis le début du jeu de résultats.

LIMIT - Indique le nombre maximum d'enregistrements dans l'ensemble de résultats.

FETCHPLAN - Spécifie la stratégie définissant la manière dont vous souhaitez récupérer les résultats.

TIMEOUT - Définit la durée maximale en millisecondes de la requête.

LOCK- Définit la stratégie de verrouillage. DEFAULT et RECORD sont les stratégies de verrouillage disponibles.

PARALLEL - Exécute la requête sur les threads simultanés 'x'.

NOCACHE - Définit si vous souhaitez utiliser le cache ou non.

Exemple

Considérons la table Customer suivante créée dans le chapitre précédent.

N ° Sr.NomÂge
1Satish25
2Krishna26
3Kiran29
4Javeed21
5Raja29

Essayez différentes requêtes de sélection pour récupérer les enregistrements de données de la table Client.

Method 1 - Vous pouvez utiliser la requête suivante pour sélectionner tous les enregistrements de la table Client.

orientdb {db = demo}> SELECT FROM Customer

Si la requête ci-dessus est exécutée avec succès, vous obtiendrez la sortie suivante.

----+-----+--------+----+-------+---- 
#   |@RID |@CLASS  |id  |name   |age  
----+-----+--------+----+-------+---- 
0   |#11:0|Customer|1   |satish |25   
1   |#11:1|Customer|2   |krishna|26   
2   |#11:2|Customer|3   |kiran  |29 
3   |#11:3|Customer|4   |javeed |21 
4   |#11:4|Customer|5   |raja   |29   
----+-----+--------+----+-------+----

Method 2 - Sélectionnez tous les enregistrements dont le nom commence par la lettre 'k».

orientdb {db = demo}> SELECT FROM Customer WHERE name LIKE 'k%'

OU vous pouvez utiliser la requête suivante pour l'exemple ci-dessus.

orientdb {db = demo}> SELECT FROM Customer WHERE name.left(1) = 'k'

Si la requête ci-dessus est exécutée avec succès, vous obtiendrez la sortie suivante.

----+-----+--------+----+-------+---- 
#   |@RID |@CLASS  |id  |name   |age  
----+-----+--------+----+-------+---- 
0   |#11:1|Customer|2   |krishna|26   
1   |#11:2|Customer|3   |kiran  |29 
----+-----+--------+----+-------+----

Method 3 - Sélectionnez les enregistrements id, nom de la table Client avec les noms en lettres majuscules.

orientdb {db = demo}> SELECT id, name.toUpperCase() FROM Customer

Si la requête ci-dessus est exécutée avec succès, vous obtiendrez la sortie suivante.

----+--------+----+------- 
#   |@CLASS  |id  |name     
----+--------+----+------- 
0   |null    |1   |SATISH   
1   |null    |2   |KRISHNA  
2   |null    |3   |KIRAN   
3   |null    |4   |JAVEED  
4   |null    |5   |RAJA      
----+--------+----+-------

Method 4 - Sélectionnez tous les enregistrements de la table Client dont l'âge est compris entre 25 et 29 ans.

orientdb {db = demo}> SELECT FROM Customer WHERE age in [25,29]

Si la requête ci-dessus est exécutée avec succès, vous obtiendrez la sortie suivante.

----+-----+--------+----+-------+---- 
#   |@RID |@CLASS  |id  |name   |age  
----+-----+--------+----+-------+---- 
0   |#11:0|Customer|1   |satish |25   
1   |#11:2|Customer|3   |kiran  |29 
2   |#11:4|Customer|5   |raja   |29   
----+-----+--------+----+-------+----

Method 5 - Sélectionnez tous les enregistrements de la table Client où n'importe quel champ contient le mot «sh».

orientdb {db = demo}> SELECT FROM Customer WHERE ANY() LIKE '%sh%'

Si la requête ci-dessus est exécutée avec succès, vous obtiendrez la sortie suivante.

----+-----+--------+----+-------+---- 
#   |@RID |@CLASS  |id  |name   |age  
----+-----+--------+----+-------+---- 
0   |#11:0|Customer|1   |satish |25   
1   |#11:1|Customer|2   |krishna|26   
----+-----+--------+----+-------+----

Method 6 - Sélectionnez tous les enregistrements de la table Client, classés par âge dans l'ordre décroissant.

orientdb {db = demo}> SELECT FROM Customer ORDER BY age DESC

Si la requête ci-dessus est exécutée avec succès, vous obtiendrez la sortie suivante.

----+-----+--------+----+-------+---- 
#   |@RID |@CLASS  |id  |name   |age  
----+-----+--------+----+-------+---- 
0   |#11:2|Customer|3   |kiran  |29 
1   |#11:4|Customer|5   |raja   |29   
2   |#11:1|Customer|2   |krishna|26   
3   |#11:0|Customer|1   |satish |25   
4   |#11:3|Customer|4   |javeed |21 
----+-----+--------+----+-------+----