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. | имя | Возраст |
---|---|---|
1 | Satish | 25 |
2 | Кришна | 26 |
3 | Kiran | 29 |
4 | Javeed | 21 год |
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
----+-----+--------+----+-------+----