OrientDB - Показать записи

Подобно СУБД, 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- Определяет стратегию блокировки. DEFAULT и RECORD - доступные стратегии блокировки.

PARALLEL - Выполняет запрос к параллельным потокам 'x'.

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

пример

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

Sr.No.имяВозраст
1Satish25
2Кришна26
3Kiran29
4Javeed21 год
5Раджа29

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

Method 1 - Вы можете использовать следующий запрос, чтобы выбрать все записи из таблицы «Клиент».

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

Method 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 
----+-----+--------+----+-------+----

Method 3 - Выберите идентификатор, имена записей из таблицы «Клиент» с именами в верхнем регистре.

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

Method 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   
----+-----+--------+----+-------+----

Method 5 - Выберите все записи из таблицы «Клиент», в любом поле которой содержится слово «ш».

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

Method 6 - Выберите все записи из таблицы «Клиент», отсортированные по возрасту в порядке убывания.

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