Learn N1QL with Real Code Examples
Updated Nov 18, 2025
Code Sample Descriptions
1
Basic N1QL Queries
SELECT name, email
FROM users
WHERE age > 30;
INSERT INTO users (KEY, VALUE)
VALUES ("user_123", { "name": "Bob", "email": "bob@example.com" });
Querying JSON documents in Couchbase using N1QL.
2
Basic SQL Joins
-- Inner Join
SELECT orders.id, users.name
FROM orders
INNER JOIN users ON orders.user_id = users.id;
-- Left Join
SELECT orders.id, users.name
FROM orders
LEFT JOIN users ON orders.user_id = users.id;
Examples of INNER JOIN and LEFT JOIN queries.
3
MongoDB Aggregation
db.orders.aggregate([
{ $match: { status: "completed" } },
{ $group: { _id: "$customerId", total: { $sum: "$amount" } } },
{ $sort: { total: -1 } }
])
Aggregation examples using MongoDB pipelines.
4
PostgreSQL Window Functions
SELECT name, salary,
ROW_NUMBER() OVER (ORDER BY salary DESC) AS row_num,
RANK() OVER (ORDER BY salary DESC) AS rank
FROM employees;
Using window functions like ROW_NUMBER and RANK in PostgreSQL.
5
Redis Sorted Sets
# Add scores
ZADD leaderboard 100 "Alice"
ZADD leaderboard 200 "Bob"
# Get top players
ZREVRANGE leaderboard 0 -1 WITHSCORES
Working with sorted sets in Redis.
6
Cassandra Batch Insert
BEGIN BATCH
INSERT INTO users (id, name, age) VALUES (uuid(), 'Alice', 29);
INSERT INTO users (id, name, age) VALUES (uuid(), 'Bob', 35);
APPLY BATCH;
Using batch operations in Cassandra with CQL.
7
Neo4j Path Query
MATCH p = (a:Person {name: "Alice"})-[:FRIEND*1..3]->(b:Person)
RETURN a, b, p;
Querying paths between nodes in Neo4j.
8
SQLite Indexing
-- Create index
CREATE INDEX idx_users_email ON users(email);
-- Query using index
SELECT * FROM users WHERE email = 'bob@example.com';
Creating and using indexes in SQLite.
9
Elasticsearch Full-Text Search
{
"query": {
"match": {
"description": "fast database"
}
}
}
Performing a full-text match query in Elasticsearch.
10
InfluxDB Aggregation
SELECT MEAN(value)
FROM cpu_usage
WHERE time > now() - 1h
GROUP BY time(5m);
Querying averages and grouping by time intervals in InfluxDB.