orientdb数据库-OrientDB查询记录

跨零代码为大家提供高品质的解决方案,请大家多多来访,跨零不胜感激,在此谢过。

与RDBMS类似,OrientDB支持不同类型的SQL查询以从数据库检索记录。 在检索记录时,我们有不同的变体或查询选项以及select语句。

以下语句是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 ] 

以下是有关上述语法中选项的详细信息。

  • <Projections> – 表示想从查询中提取的数据作为结果记录集。
  • FROM – 表示要查询的对象。 这可以是一个类,群集,单个记录标识,一组记录标识。可以将所有这些对象指定为目标。
  • WHERE – 指定过滤结果集的条件。
  • LET – 表示在投影,条件或子查询中使用的上下文变量。
  • GROUP BY – 表示分组记录的字段。
  • ORDER BY – 表示按顺序排列记录的字段。
  • UNWIND – 指定展开记录集合的字段。
  • SKIP – 定义要从结果集开始跳过的记录数。
  • LIMIT – 表示结果集中记录的最大数量。
  • FETCHPLAN – 指定定义如何获取结果的策略。
  • TIMEOUT – 定义查询的最大时间(以毫秒为单位)。
  • LOCK – 定义锁定策略。 DEFAULTRECORD是可用的锁定策略。
  • PARALLEL – 对'x'并发线程执行查询。
  • NOCACHE – 定义是否要使用缓存。

示例

让我们考虑在前一章中创建的Customer表。

编号 名字 年龄
1 Satish 25
2 Krishna 26
3 Kiran 29
4 Javeed 21
5 Raja 29

尝试使用不同的select查询来从Customer表中检索数据记录。

方法1 – 可以使用以下查询从Customer表中选择所有记录。

orientdb {db = demo}> SELECT FROM Customer 

如果上述查询成功执行,您将得到以下输出。

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

方法2 – 选择名字以字母k开头的所有记录。

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

如果上述查询成功执行,您将得到以下输出。

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

方法3 – 从Customer表中选择idname的记录,name以大写字母形式返回。

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

如果上述查询成功执行,您将得到以下输出。

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

方法4 – 选择年龄在2529范围内的Customer表中的所有记录。

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

如果上述查询成功执行,您将得到以下输出。

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

方法5 – 从Customer表中选择任何字段包含单词sh的所有记录。

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

如果上述查询成功执行,您将得到以下输出。

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

方法6 – 从Customer表中选择所有记录,按年龄按降序排列。

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

如果上述查询成功执行,您将得到以下输出。

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

  

从零到一,创造未来!跨零综合IT问题解决服务站,欢迎你的到来。Oracle数据库教程 orientdb数据库/a> 只为你绽放。

本文固定链接: http://kua0.com/2019/05/20/orientdb数据库-orientdb查询记录/

为您推荐

发表评论

电子邮件地址不会被公开。 必填项已用*标注