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;