Вы хотите запросить базу данных документов 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
|
SELECT product. name , COUNT (reviews) AS reviewCount, ROUND( AVG (reviews.rating),1) AS AvgRating, category FROM reviews AS reviews JOIN product AS product ON KEYS reviews.productId UNNEST product.categories AS category WHERE category = "Appliances" GROUP BY category, product ORDER 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… . |