Вы хотите запросить базу данных документов JSON с использованием SQL-подобного синтаксиса?
Couchbase имеет N1QL для вас.
N1QL — это декларативный язык запросов, расширяющий SQL для JSON. Вы можете запрашивать данные через встроенную среду и языковую интеграцию, свободный API или драйверы JDBC / ODBC.
N1QL позволяет запрашивать документы JSON без каких-либо ограничений — сортировать, фильтровать, преобразовывать, группировать и объединять данные с помощью одного запроса. Это правильно. Вы можете объединить данные из нескольких документов с помощью JOIN . Эта гибкая модель данных вам обещали? Это оно. Вы больше не ограничены моделями данных «одна таблица» и «таблица на запрос».
N1QL Tutorial — отличный ресурс для изучения концепций запросов документов JSON с использованием SQL-подобного синтаксиса. Вот некоторые примеры:
|
1
2
3
|
SELECT children[0].fname AS cname FROM tutorial WHERE fname='Dave' |
ИЛИ ЖЕ
|
1
2
3
|
SELECT fname, age, age/7 AS age_dog_years FROM tutorial WHERE fname = 'Dave' |
ИЛИ ЖЕ
|
1
2
3
4
|
SELECT relation, COUNT(*) AS count FROM tutorial GROUP BY relation HAVING COUNT(*) > 1 |
ИЛИ ЖЕ
|
1
2
3
4
5
6
7
8
|
SELECT t.relation, COUNT(*) AS count, AVG(c.age) AS avg_age FROM tutorial t UNNEST t.children c WHERE c.age > 10 GROUP BY t.relation HAVING COUNT(*) > 1 ORDER BY avg_age DESC LIMIT 1 OFFSET 1 |
ИЛИ ЖЕ
|
01
02
03
04
05
06
07
08
09
10
11
12
13
|
SELECTproduct.name, COUNT(reviews) AS reviewCount,ROUND(AVG(reviews.rating),1) AS AvgRating,category FROM reviews AS reviewsJOIN product AS product ON KEYS reviews.productIdUNNEST product.categories AS categoryWHERE category = "Appliances"GROUP BY category, productORDER BY AvgRating DESC LIMIT 3 |
Итак, вы готовы экспериментировать с N1QL? Вы, конечно, можете использовать инструмент CBQ .
В качестве альтернативы вы можете использовать Couchbase Query Workbench . Средство запросов предоставляет богатый графический интерфейс пользователя для подготовки и выполнения простых и сложных запросов N1QL. Он предоставляет удобный способ разработки запросов, позволяя просматривать, создавать и запускать операторы N1QL и просматривать результаты.
Хотите узнать, как начать?
Узнайте все об этом в этой короткой сессии с Эбеном Хабером:
Задайте свои вопросы на форумах Stack Overflow или Couchbase .
Вы также можете подписаться на нас по адресу @couchbasedev и @couchbase .
Наслаждайтесь!
| Ссылка: | Запросите JSON с помощью SQL с помощью Couchbase Query Workbench от нашего партнера по JCG Аруна Гупта из блога Miles to go 2.0… . |