vault backup: 2024-01-01 23:08:40
This commit is contained in:
@@ -31,4 +31,47 @@ SELECT name AS user_name, address FROM person;
|
|||||||
SELECT * FROM ONLY person:john;
|
SELECT * FROM ONLY person:john;
|
||||||
```
|
```
|
||||||
|
|
||||||
|
### Advanced `SELECT` expressions
|
||||||
|
|
||||||
|
```SQL
|
||||||
|
-- Select nested objects/values
|
||||||
|
SELECT address.city FROM person;
|
||||||
|
|
||||||
|
-- Select all nested array values
|
||||||
|
-- note the .* syntax works to select everything from an array or object-like values
|
||||||
|
SELECT address.*.coordinates AS coordinates FROM person;
|
||||||
|
-- Equivalent to
|
||||||
|
SELECT address.coordinates AS coordinates FROM person;
|
||||||
|
|
||||||
|
-- Select one item from an array
|
||||||
|
SELECT address.coordinates[0] AS latitude FROM person;
|
||||||
|
|
||||||
|
-- Select unique values from an array
|
||||||
|
SELECT array::distinct(tags) FROM article;
|
||||||
|
|
||||||
|
-- Select unique values from a nested array across an entire table
|
||||||
|
SELECT array::group(tags) AS tags FROM article GROUP ALL;
|
||||||
|
|
||||||
|
-- Use mathematical calculations in a select expression
|
||||||
|
SELECT ( ( celsius * 2 ) + 30 ) AS fahrenheit FROM temperature;
|
||||||
|
|
||||||
|
-- Return boolean expressions with an alias
|
||||||
|
SELECT rating >= 4 as positive FROM review;
|
||||||
|
|
||||||
|
-- Select manually generated object structure
|
||||||
|
SELECT { weekly: false, monthly: true } AS `marketing settings` FROM user;
|
||||||
|
|
||||||
|
-- Select filtered nested array values
|
||||||
|
SELECT address[WHERE active = true] FROM person;
|
||||||
|
|
||||||
|
-- Select a person who has reacted to a post using a celebration
|
||||||
|
-- You can see the graph as: person->(reacted_to WHERE type='celebrate')->post
|
||||||
|
SELECT * FROM person WHERE ->(reacted_to WHERE type='celebrate')->post;
|
||||||
|
|
||||||
|
-- Select a remote field from connected out graph edges
|
||||||
|
SELECT ->likes->friend.name AS friends FROM person:tobie;
|
||||||
|
|
||||||
|
-- Use the result of a subquery as a returned field
|
||||||
|
SELECT *, (SELECT * FROM events WHERE type = 'activity' LIMIT 5) AS history FROM user;
|
||||||
|
```
|
||||||
###
|
###
|
Reference in New Issue
Block a user