From e18a12aefe6430ef4bcf07e2c6c20474679c89a4 Mon Sep 17 00:00:00 2001 From: Adrien Bouvais Date: Mon, 13 Jan 2025 10:56:53 +0000 Subject: [PATCH] Add simple SQL comparison --- README.md | 46 +++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 45 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index f1de181..d2e7dd0 100644 --- a/README.md +++ b/README.md @@ -41,7 +41,6 @@ ZipponDB uses its own query language, ZipponQL or ZiQL for short. Here are the k - `{}` are filters - `[]` specify how much and what data - `()` contain new or updated data (not already in the file) -- `||` are additional options ## GRAB @@ -87,6 +86,51 @@ Here, we update the first 5 `User` entities named 'bob' to capitalize the name a UPDATE User [5] {name='bob'} TO (name = 'Bob') ``` +## Vs SQL + +```sql +SELECT * FROM User +``` + +``` +GRAB User +``` + +```sql +SELECT * +FROM your_table_name +WHERE name = 'Bob' +AND (age > 30 OR age < 10); +``` + +``` +GRAB User {name = 'Bob' AND (age > 30 OR age < 10)} +``` + +```sql +SELECT u1.name AS user_name, GROUP_CONCAT(u2.name || ' (' || u2.age || ')') AS friends_list +FROM User u1 +LEFT JOIN User u2 ON ',' || u1.friends || ',' LIKE '%,' || u2.id || ',%' +WHERE u1.age > 30 +GROUP BY u1.name; +``` + +``` +GRAB User [name, friends [name, age]] {age > 30} +``` + +```sql +SELECT u1.name AS user_name, GROUP_CONCAT(u2.name || ' (' || u2.age || ')') AS friends_list +FROM User u1 +LEFT JOIN User u2 ON ',' || u1.friends || ',' LIKE '%,' || u2.id || ',%' +WHERE u2.age > 30 +GROUP BY u1.name; +``` + +``` +GRAB User [name, friends [name, age] {age > 30}] +``` + ## Link query - Not yet implemented You can also link query. Each query returns a list of UUID of a specific struct. You can use it in the next query.