OrientDB - Mostrar registros
De forma similar a RDBMS, OrientDB admite diferentes tipos de consultas SQL para recuperar los registros de la base de datos. Al recuperar los registros, tenemos diferentes variaciones u opciones de consultas junto con la declaración de selección.
La siguiente declaración es la sintaxis básica 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 ]
A continuación se muestran los detalles sobre las opciones en la sintaxis anterior.
<Projections> - Indica los datos que desea extraer de la consulta como un conjunto de registros de resultados.
FROM- Indica el objeto a consultar. Puede ser una clase, clúster, ID de registro único, conjunto de ID de registro. Puede especificar todos estos objetos como destino.
WHERE - Especifica la condición para filtrar el conjunto de resultados.
LET - Indica la variable de contexto que se utiliza en proyecciones, condiciones o subconsultas.
GROUP BY - Indica el campo para agrupar los registros.
ORDER BY - Indica el archivo para organizar un registro en orden.
UNWIND - Designa el campo en el que desenrollar la colección de registros.
SKIP - Define el número de registros que desea omitir desde el inicio del conjunto de resultados.
LIMIT - Indica el número máximo de registros en el conjunto de resultados.
FETCHPLAN - Especifica la estrategia que define cómo desea obtener resultados.
TIMEOUT - Define el tiempo máximo en milisegundos para la consulta.
LOCK- Define la estrategia de bloqueo. DEFAULT y RECORD son las estrategias de bloqueo disponibles.
PARALLEL - Ejecuta la consulta en subprocesos concurrentes 'x'.
NOCACHE - Define si quieres usar caché o no.
Ejemplo
Consideremos la siguiente tabla de Clientes creada en el capítulo anterior.
No Señor. | Nombre | Años |
---|---|---|
1 | Satish | 25 |
2 | Krishna | 26 |
3 | Kiran | 29 |
4 | Javeed | 21 |
5 | Raja | 29 |
Pruebe diferentes consultas de selección para recuperar los registros de datos de la tabla Cliente.
Method 1 - Puede utilizar la siguiente consulta para seleccionar todos los registros de la tabla Cliente.
orientdb {db = demo}> SELECT FROM Customer
Si la consulta anterior se ejecuta correctamente, obtendrá el siguiente resultado.
----+-----+--------+----+-------+----
# |@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 - Seleccione todos los registros cuyo nombre comience con la letra 'k'.
orientdb {db = demo}> SELECT FROM Customer WHERE name LIKE 'k%'
O puede utilizar la siguiente consulta para el ejemplo anterior.
orientdb {db = demo}> SELECT FROM Customer WHERE name.left(1) = 'k'
Si la consulta anterior se ejecuta correctamente, obtendrá el siguiente resultado.
----+-----+--------+----+-------+----
# |@RID |@CLASS |id |name |age
----+-----+--------+----+-------+----
0 |#11:1|Customer|2 |krishna|26
1 |#11:2|Customer|3 |kiran |29
----+-----+--------+----+-------+----
Method 3 - Seleccione id, registros de nombres de la tabla Cliente con nombres en mayúsculas.
orientdb {db = demo}> SELECT id, name.toUpperCase() FROM Customer
Si la consulta anterior se ejecuta correctamente, obtendrá el siguiente resultado.
----+--------+----+-------
# |@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 - Seleccione todos los registros de la tabla Cliente donde la edad esté en el rango de 25 a 29.
orientdb {db = demo}> SELECT FROM Customer WHERE age in [25,29]
Si la consulta anterior se ejecuta correctamente, obtendrá el siguiente resultado.
----+-----+--------+----+-------+----
# |@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 - Seleccione todos los registros de la tabla Cliente donde cualquier campo contenga la palabra 'sh'.
orientdb {db = demo}> SELECT FROM Customer WHERE ANY() LIKE '%sh%'
Si la consulta anterior se ejecuta correctamente, obtendrá el siguiente resultado.
----+-----+--------+----+-------+----
# |@RID |@CLASS |id |name |age
----+-----+--------+----+-------+----
0 |#11:0|Customer|1 |satish |25
1 |#11:1|Customer|2 |krishna|26
----+-----+--------+----+-------+----
Method 6 - Seleccione todos los registros de la tabla Cliente, ordenados por edad en orden descendente.
orientdb {db = demo}> SELECT FROM Customer ORDER BY age DESC
Si la consulta anterior se ejecuta correctamente, obtendrá el siguiente resultado.
----+-----+--------+----+-------+----
# |@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
----+-----+--------+----+-------+----