OrientDB - Visualizza record

Simile a RDBMS, OrientDB supporta diversi tipi di query SQL per recuperare i record dal database. Durante il recupero dei record abbiamo diverse varianti o opzioni di query insieme all'istruzione select.

La seguente dichiarazione è la sintassi di base del comando 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 ]

Di seguito sono riportati i dettagli sulle opzioni nella sintassi precedente.

<Projections> - Indica i dati che si desidera estrarre dalla query come set di record dei risultati.

FROM- Indica l'oggetto da interrogare. Può essere una classe, un cluster, un singolo ID record, un set di ID record. È possibile specificare tutti questi oggetti come destinazione.

WHERE - Specifica la condizione per filtrare il set di risultati.

LET - Indica la variabile di contesto utilizzata nelle proiezioni, condizioni o sottoquery.

GROUP BY - Indica il campo per raggruppare i record.

ORDER BY - Indica l'archivio per organizzare un record in ordine.

UNWIND - Designa il campo su cui svolgere la raccolta di record.

SKIP - Definisce il numero di record che si desidera saltare dall'inizio del set di risultati.

LIMIT - Indica il numero massimo di record nel set di risultati.

FETCHPLAN - Specifica la strategia che definisce come si desidera recuperare i risultati.

TIMEOUT - Definisce il tempo massimo in millisecondi per la query.

LOCK- Definisce la strategia di chiusura. DEFAULT e RECORD sono le strategie di blocco disponibili.

PARALLEL - Esegue la query su thread simultanei "x".

NOCACHE - Definisce se si desidera utilizzare la cache o meno.

Esempio

Consideriamo la seguente tabella Customer creata nel capitolo precedente.

Sr.No.NomeEtà
1Satish25
2Krishna26
3Kiran29
4Javeed21
5Raja29

Prova diverse query di selezione per recuperare i record di dati dalla tabella Cliente.

Method 1 - È possibile utilizzare la seguente query per selezionare tutti i record dalla tabella Clienti.

orientdb {db = demo}> SELECT FROM Customer

Se la query precedente viene eseguita correttamente, otterrai il seguente output.

----+-----+--------+----+-------+---- 
#   |@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 - Seleziona tutti i record il cui nome inizia con la lettera 'k'.

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

OPPURE puoi utilizzare la seguente query per l'esempio precedente.

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

Se la query precedente viene eseguita correttamente, otterrai il seguente output.

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

Method 3 - Seleziona id, record di nome dalla tabella Customer con i nomi in lettere maiuscole.

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

Se la query precedente viene eseguita correttamente, otterrai il seguente output.

----+--------+----+------- 
#   |@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 - Seleziona tutti i record dalla tabella Cliente in cui l'età è compresa tra 25 e 29.

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

Se la query precedente viene eseguita correttamente, otterrai il seguente output.

----+-----+--------+----+-------+---- 
#   |@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 - Seleziona tutti i record dalla tabella Cliente in cui qualsiasi campo contiene la parola "sh".

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

Se la query precedente viene eseguita correttamente, otterrai il seguente output.

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

Method 6 - Seleziona tutti i record dalla tabella Cliente, ordinati per età in ordine decrescente.

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

Se la query precedente viene eseguita correttamente, otterrai il seguente output.

----+-----+--------+----+-------+---- 
#   |@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 
----+-----+--------+----+-------+----