Учебники

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 ] 

Ниже приведены подробности об опциях в приведенном выше синтаксисе.

<Проекции> — указывает данные, которые вы хотите извлечь из запроса как набор записей результатов.

FROM — указывает объект для запроса. Это может быть класс, кластер, один идентификатор записи, набор идентификаторов записи. Вы можете указать все эти объекты в качестве цели.

WHERE — Определяет условие для фильтрации набора результатов.

LET — указывает переменную контекста, которая используется в проекциях, условиях или подзапросах.

GROUP BY — указывает поле для группировки записей.

ORDER BY — указывает поле, чтобы упорядочить запись по порядку.

UNWIND — Обозначает поле, в котором нужно раскрутить коллекцию записей.

SKIP — Определяет количество записей, которые вы хотите пропустить с начала набора результатов.

LIMIT — указывает максимальное количество записей в наборе результатов.

FETCHPLAN — определяет стратегию, определяющую, как вы хотите получать результаты.

TIMEOUT — Определяет максимальное время в миллисекундах для запроса.

LOCK — Определяет стратегию блокировки. DEFAULT и RECORD — доступные стратегии блокировки.

PARALLEL — выполняет запрос к параллельным потокам ‘x’.

NOCACHE — определяет, хотите ли вы использовать кеш или нет.

пример

Давайте рассмотрим следующую таблицу Customer, созданную в предыдущей главе.

Sr.No. название Возраст
1 Сатиш 25
2 Кришна 26
3 Киран 29
4 Javeed 21
5 Раджа 29

Попробуйте разные запросы на выборку, чтобы получить записи данных из таблицы 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 — Выберите id, имя записи из таблицы Customer с именами в верхнем регистре.

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 — Выберите все записи из таблицы клиентов, где возраст находится в диапазоне от 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 — Выберите все записи из таблицы клиентов, где любое поле содержит слово «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 — Выберите все записи из таблицы клиентов, упорядоченные по возрасту в порядке убывания.

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

Если приведенный выше запрос выполнен успешно, вы получите следующий вывод.