Syntax Reference
Complete reference for all genaql utilities, modifiers, and operators.
Basic Clauses
These utilities map directly to SQL clauses. Use colons to separate the utility from its value.
| Syntax | SQL Equivalent | Example |
|---|---|---|
main: | FROM | main:users |
slay: | SELECT | slay:name,email |
sus: | WHERE | sus:age>18 |
vibe: | ORDER BY | vibe:name/desc |
bet: | LIMIT | bet:10 |
skip: | OFFSET | skip:20 |
squad: | GROUP BY | squad:user_id |
tea: | HAVING | tea:cnt:*>5 |
Write Operations
| Syntax | SQL Equivalent | Example |
|---|---|---|
nocap: | INSERT INTO | nocap:users |
drip: | (columns) | drip:name,email |
fire: | VALUES | fire:john,john@test.com |
glow: | UPDATE | glow:users |
rizz: | SET | rizz:name=john |
yeet: | DELETE FROM | yeet:sessions |
flex: | RETURNING | flex:id |
Operators
Use these operators in WHERE conditions:
| Operator | Meaning | Example |
|---|---|---|
> | Greater than | sus:age>18 |
< | Less than | sus:price<100 |
>= | Greater or equal | sus:age>=21 |
<= | Less or equal | sus:qty<=0 |
= | Equals | sus:status=active |
!= | Not equals | sus:role!=admin |
~ | LIKE | sus:name~john% |
.in() | IN | sus:id.in(1,2,3) |
.null | IS NULL | sus:deleted_at.null |
.!null | IS NOT NULL | sus:email.!null |
Logical Operators
Combine conditions with AND and OR:
logical.ts
// AND - multiple sus clauses or comma-separated
main:users sus:age>18 sus:status=active
main:users sus:age>18,status=active
// OR - pipe within sus
main:users sus:role=admin|role=moderatorAggregate Functions
Use these prefixes for aggregate functions:
| Prefix | Function | Example |
|---|---|---|
sum: | SUM() | sel:sum:total |
cnt: | COUNT() | sel:cnt:* |
avg: | AVG() | sel:avg:price |
min: | MIN() | sel:min:created_at |
max: | MAX() | sel:max:price |
Modifiers
Add modifiers using slashes:
Order Direction
vibe:name/descvibe:created_at/ascJoin Types
link:orders/leftlink:products/rightlink:categories/full