Select
Syntax
SELECT [ DISTINCT ]
{ * | expr (, expr )* }
FROM { Table | SubQuery | Match }
[ WHERE boolExpr ]
[ Group By expr (',' expr)* ]
[ HAVING boolExpr ]
[ ORDER BY (expr [ASC|DESC]) (',' expr [ASC|DESC])* ]
[ LIMIT number ]
Example
Select
SELECT id, name, age FROM user;
SELECT DISTINCT id, name, age FROM user;
SELECT price * 10 FROM trade;
From
From Table
SELECT id, name, age FROM user where id > 10
From SubQuery
SELECT id, name, age
FROM (
SELECT * FROM user where id > 10
)
From Match
SELECT
a_id,
weight,
b_id
FROM (
MATCH (a) -[e:knows]->(b:person where b.id != 1)
RETURN a.id as a_id, e.weight as weight, b.id as b_id
)
More information about match, please see the Match Syntax.
Where
SELECT id, name, age FROM user where id > 10;
SELECT DISTINCT id, name, age FROM user where id > 10;
SELECT price * 10 FROM trade where price > 20;
Group By
SELECT age, count(id) as cnt FROM user GROUP BY age;
SELECT type, max(age), min(age), avg(age) FROM user GROUP BY type;
Having
SELECT age, count(id) as cnt FROM user GROUP BY age Having count(id) > 10;
Order By
SELECT * from user order by age;
SELECT age, count(id) as cnt FROM user GROUP BY age Having count(id) > 10 Order by cnt;
Limit
SELECT * from user order by age limit 10;
SELECT * from user limit 10;