
- OrientDB 教程
- OrientDB - 首頁
- OrientDB - 概述
- OrientDB - 安裝
- OrientDB - 基本概念
- OrientDB - 資料型別
- OrientDB - 控制檯模式
- OrientDB 資料庫命令
- OrientDB - 建立資料庫
- OrientDB - 修改資料庫
- OrientDB - 備份資料庫
- OrientDB - 恢復資料庫
- OrientDB - 連線資料庫
- OrientDB - 斷開資料庫連線
- OrientDB - 資料庫資訊
- OrientDB - 列出資料庫
- OrientDB - 凍結資料庫
- OrientDB - 解除資料庫凍結
- OrientDB - 配置資料庫
- OrientDB - 匯出資料庫
- OrientDB - 匯入資料庫
- OrientDB - 提交資料庫
- OrientDB - 回滾資料庫
- OrientDB - 最佳化資料庫
- OrientDB - 刪除資料庫
- OrientDB 記錄命令
- OrientDB - 插入記錄
- OrientDB - 顯示記錄
- OrientDB - 載入記錄
- OrientDB - 重新載入記錄
- OrientDB - 匯出記錄
- OrientDB - 更新記錄
- OrientDB - 截斷記錄
- OrientDB - 刪除記錄
- OrientDB 類命令
- OrientDB - 建立類
- OrientDB - 修改類
- OrientDB - 截斷類
- OrientDB - 刪除類
- OrientDB 叢集命令
- OrientDB - 建立叢集
- OrientDB - 修改叢集
- OrientDB - 截斷叢集
- OrientDB - 刪除叢集
- OrientDB 屬性命令
- OrientDB - 建立屬性
- OrientDB - 修改屬性
- OrientDB - 刪除屬性
- OrientDB 頂點命令
- OrientDB - 建立頂點
- OrientDB - 移動頂點
- OrientDB - 刪除頂點
- OrientDB 邊命令
- OrientDB - 建立邊
- OrientDB - 更新邊
- OrientDB - 刪除邊
- OrientDB 高階概念
- OrientDB - 函式
- OrientDB - 序列
- OrientDB - 索引
- OrientDB - 事務
- OrientDB - 鉤子
- OrientDB - 快取
- OrientDB - 日誌
- OrientDB - 效能調優
- OrientDB - 升級
- OrientDB - 安全性
- OrientDB - Studio
- OrientDB 介面
- OrientDB - Java 介面
- OrientDB - Python 介面
- OrientDB 有用資源
- OrientDB - 快速指南
- OrientDB - 有用資源
- 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 - 指示要查詢的物件。這可以是類、叢集、單個記錄 ID、記錄 ID 集。您可以將所有這些物件指定為目標。
WHERE - 指定過濾結果集的條件。
LET - 指示在投影、條件或子查詢中使用的上下文變數。
GROUP BY - 指示對記錄進行分組的欄位。
ORDER BY - 指示按順序排列記錄的欄位。
UNWIND - 指定要對記錄集合進行展開的欄位。
SKIP - 定義要從結果集開頭跳過的記錄數。
LIMIT - 指示結果集中記錄的最大數量。
FETCHPLAN - 指定定義如何獲取結果的策略。
TIMEOUT - 定義查詢的最大時間(毫秒)。
LOCK - 定義鎖定策略。DEFAULT 和 RECORD 是可用的鎖定策略。
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%'
或者您可以對上述示例使用以下查詢。
orientdb {db = demo}> SELECT FROM Customer WHERE name.left(1) = 'k'
如果上述查詢成功執行,您將獲得以下輸出。
----+-----+--------+----+-------+---- # |@RID |@CLASS |id |name |age ----+-----+--------+----+-------+---- 0 |#11:1|Customer|2 |krishna|26 1 |#11:2|Customer|3 |kiran |29 ----+-----+--------+----+-------+----
方法 3 - 從 Customer 表中選擇 id、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 - 從 Customer 表中選擇所有年齡在 25 到 29 之間的記錄。
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 ----+-----+--------+----+-------+----