diff --git a/docs-2.0/2.quick-start/6.cheatsheet-for-ngql.md b/docs-2.0/2.quick-start/6.cheatsheet-for-ngql.md
new file mode 100644
index 00000000000..9985994545e
--- /dev/null
+++ b/docs-2.0/2.quick-start/6.cheatsheet-for-ngql.md
@@ -0,0 +1,513 @@
+# nGQL cheatsheet
+
+## Functions
+
+- [Math functions](../3.ngql-guide/6.functions-and-expressions/1.math.md)
+
+ | Function | Description |
+ | :-------------------------------------- | :----------------------------------------------------------- |
+ | double abs(double x) | Returns the absolute value of the argument. |
+ | double floor(double x) | Returns the largest integer value smaller than or equal to the argument. (Rounds down) |
+ | double ceil(double x) | Returns the smallest integer greater than or equal to the argument. (Rounds up) |
+ | double round(double x) | Returns the integer value nearest to the argument. Returns a number farther away from 0 if the argument is in the middle. |
+ | double sqrt(double x) | Returns the square root of the argument. |
+ | double cbrt(double x) | sReturns the cubic root of the argument. |
+ | double hypot(double x, double y) | Returns the hypotenuse of a right-angled triangle. |
+ | double pow(double x, double y) | Returns the result of $x^y$. |
+ | double exp(double x) | Returns the result of $e^x$. |
+ | double exp2(double x) | Returns the result of $2^x$. |
+ | double log(double x) | Returns the base-e logarithm of the argument. |
+ | double log2(double x) | Returns the base-2 logarithm of the argument. |
+ | double log10(double x) | Returns the base-10 logarithm of the argument. |
+ | double sin(double x) | Returns the sine of the argument. |
+ | double asin(double x) | Returns the inverse sine of the argument. |
+ | double cos(double x) | Returns the cosine of the argument. |
+ | double acos(double x) | Returns the inverse cosine of the argument. |
+ | double tan(double x) | Returns the tangent of the argument. |
+ | double atan(double x) | Returns the inverse tangent of the argument. |
+ | double rand() | Returns a random floating point number in the range from 0 (inclusive) to 1 (exclusive); i.e.[0,1). |
+ | int rand32(int min, int max) | Returns a random 32-bit integer in `[min, max)`.
If you set only one argument, it is parsed as `max` and `min` is `0` by default.
If you set no argument, the system returns a random signed 32-bit integer. |
+ | int rand64(int min, int max) | Returns a random 64-bit integer in `[min, max)`.
If you set only one argument, it is parsed as `max` and `min` is `0` by default.
If you set no argument, the system returns a random signed 64-bit integer. |
+ | collect() | Puts all the collected values into a list. |
+ | avg() | Returns the average value of the argument. |
+ | count() | Returns the number of records. |
+ | max() | Returns the maximum value. |
+ | min() | Returns the minimum value. |
+ | std() | Returns the population standard deviation. |
+ | sum() | Returns the sum value. |
+ | bit_and() | Bitwise AND. |
+ | bit_or() | Bitwise OR. |
+ | bit_xor() | Bitwise XOR. |
+ | int size() | Returns the number of elements in a list or a map. |
+ | int range(int start, int end, int step) | Returns a list of integers from `[start,end]` in the specified steps. `step` is 1 by default. |
+ | int sign(double x) | Returns the signum of the given number.
If the number is 0, the system returns 0.
If the number is negative, the system returns -1.
If the number is positive, the system returns 1. |
+ | double e() | Returns the base of the natural logarithm, e (2.718281828459045). |
+ | double pi() | Returns the mathematical constant pi (3.141592653589793). |
+ | double radians() | Converts degrees to radians. `radians(180)` returns `3.141592653589793`. |
+
+
+
+- [String functions](../3.ngql-guide/6.functions-and-expressions/2.string.md)
+
+ Function| Description |
+ ---- | ----|
+ int strcasecmp(string a, string b) | Compares string a and b without case sensitivity. When a = b, the return value is 0. When a > b, the return value is greater than 0. When a < b, the return value is less than 0. |
+ string lower(string a) | Returns the argument in lowercase. |
+ string toLower(string a) | The same as `lower()`. |
+ string upper(string a) | Returns the argument in uppercase. |
+ string toUpper(string a) | The same as `upper()`. |
+ int length(string a) | Returns the length of the given string in bytes. |
+ string trim(string a) | Removes leading and trailing spaces. |
+ string ltrim(string a) | Removes leading spaces. |
+ string rtrim(string a) | Removes trailing spaces. |
+ string left(string a, int count) | Returns a substring consisting of `count` characters from the left side of string a. If string a is shorter than `count`, the system returns string a. |
+ string right(string a, int count) | Returns a substring consisting of `count` characters from the right side of string a. If string a is shorter than `count`, the system returns string a. |
+ string lpad(string a, int size, string letters) | Left-pads string a with string `letters` and returns a substring with the length of `size`. |
+ string rpad(string a, int size, string letters)| Right-pads string a with string `letters` and returns a substring with the length of `size`. |
+ string substr(string a, int pos, int count) | Returns a substring extracting `count` characters starting from the specified position `pos` of string a. |
+ string substring(string a, int pos, int count) | The same as `substr()`. |
+ string reverse(string) | Returns a string in reverse order.
+ string replace(string a, string b, string c) | Replaces string b in string a with string c. |
+ list split(string a, string b) | Splits string a at string b and returns a list of strings. |
+ string toString() | Takes in any data type and converts it into a string. |
+ int hash() | Takes in any data type and encodes it into a hash value. | |
+
+
+
+* [Data and time functions](../3.ngql-guide/6.functions-and-expressions/3.date-and-time.md)
+
+ Function| Description |
+ ---- | ----|
+ int now() | Returns the current date and time of the system time zone. |
+ timestamp timestamp() | Returns the current date and time of the system time zone. |
+ date date() | Returns the current UTC date based on the current system. |
+ time time() | Returns the current UTC time based on the current system. |
+ datetime datetime() | Returns the current UTC date and time based on the current system. |
+
+
+
+* [Schema functions](../3.ngql-guide/6.functions-and-expressions/4.schema.md)
+
+ |Function| Description |
+ |---- | ----|
+ |id(vertex) | Returns the ID of a vertex. The data type of the result is the same as the vertex ID.|
+ |map properties(vertex) | Returns the properties of a vertex.|
+ |map properties(edge) | Returns the properties of an edge.|
+ |string type(edge) | Returns the edge type of an edge.|
+ |src(edge)|Returns the source vertex ID of an edge. The data type of the result is the same as the vertex ID.|
+ |dst(edge)|Returns the destination vertex ID of an edge. The data type of the result is the same as the vertex ID.|
+ |int rank(edge) | Returns the rank value of an edge.|
+
+
+
+* [List functions](../3.ngql-guide/6.functions-and-expressions/6.list.md)
+
+ | Function| Description |
+ | ---- | ----|
+ | keys(expr) | Returns a list containing the string representations for all the property names of vertices, edges, or maps. |
+ | labels(vertex) | Returns the list containing all the tags of a vertex. |
+ | nodes(path) | Returns the list containing all the vertices in a path. |
+ | range(start, end [, step]) | Returns the list containing all the fixed-length steps in `[start,end]`. `step` is 1 by default. |
+ | relationships(path) | Returns the list containing all the relationships in a path. |
+ | reverse(list) | Returns the list reversing the order of all elements in the original list. |
+ | tail(list) | Returns all the elements of the original list, excluding the first one. |
+ | head(list) | Returns the first element of a list. |
+ | last(list) | Returns the last element of a list. |
+ | coalesce(list) | Returns the first not null value in a list. |
+ | reduce() | See [reduce() function](../3.ngql-guide/6.functions-and-expressions/11.reduce.md)。 |
+
+
+
+* [count() function](../3.ngql-guide/6.functions-and-expressions/7.count.md)
+
+ | Function| Description |
+ | :------ | :------------------------------------------------------ |
+ | count() |Syntax: `count({expr \| *})` .
`count()`returns the number of rows (including NULL).
`count(expr)`returns the number of non-NULL values that meet the expression.
count() and size() are different. |
+
+
+
+* [collect() function](../3.ngql-guide/6.functions-and-expressions/10.collect.md)
+
+ | Function| Description |
+ | :-------- | :----------------------------------------------------------- |
+ | collect() |The collect() function returns a list containing the values returned by an expression. Using this function aggregates data by merging multiple records or values into a single list. |
+
+
+
+* [reduce() function](../3.ngql-guide/6.functions-and-expressions/11.reduce.md)
+
+ | Function | Syntax | Description |
+ | :------- | :-------------------------------------------------------- | ------------------------------------------------------------ |
+ | reduce() | `reduce( = , IN | )` | The `reduce()` function applies an expression to each element in a list one by one, chains the result to the next iteration by taking it as the initial value, and returns the final result. |
+
+
+
+* [hash() function](../3.ngql-guide/6.functions-and-expressions/12.hash.md)
+
+ | Function| Description |
+ | :----- | :----------------------------------------------------------- |
+ | hash() | The `hash()` function returns the hash value of the argument. The argument can be a number, a string, a list, a boolean, null, or an expression that evaluates to a value of the preceding data types. The source code of the `hash()` function (MurmurHash2), seed (`0xc70f6907UL`), and other parameters can be found in [`MurmurHash2.h`](https://github.com/vesoft-inc/nebula/blob/master/src/common/base/MurmurHash2.h). |
+
+
+
+* [concat() function](../3.ngql-guide/6.functions-and-expressions/13.concat.md)
+
+ | Function| Description |
+ | :------- | :----------------------------------------------------------- |
+ | concat() | The `concat()` function requires at least two or more strings. All the parameters are concatenated into one string.
Syntax: `concat(string1,string2,...)` |
+
+
+
+* [concat_ws() function](../3.ngql-guide/6.functions-and-expressions/13.concat.md)
+
+ | Function| Description |
+ | ----------- | ------------------------------------------------------------ |
+ | concat_ws() | The `concat_ws()` function connects two or more strings with a predefined separator. |
+
+
+
+* [Predicate functions](../3.ngql-guide/6.functions-and-expressions/8.predicate.md)
+
+ Predicate functions return `true` or `false`. They are most commonly used in `WHERE` clauses.
+
+ ```
+ ( IN WHERE )
+ ```
+
+ | Functions | Description |
+ |:----- | :------------------: |
+ | exists() | Returns `true` if the specified property exists in the vertex, edge or map. Otherwise, returns `false`. |
+ | any() | Returns `true` if the specified predicate holds for at least one element in the given list. Otherwise, returns `false`. |
+ | all() | Returns `true` if the specified predicate holds for all elements in the given list. Otherwise, returns `false`. |
+ | none() | Returns `true` if the specified predicate holds for no element in the given list. Otherwise, returns `false`. |
+ | single() | Returns `true` if the specified predicate holds for exactly one of the elements in the given list. Otherwise, returns `false`. |
+
+
+
+* [CASE expressions](../3.ngql-guide/6.functions-and-expressions/5.case-expressions.md)
+
+ The `CASE` expression uses conditions to filter the result of an nGQL query statement. It is usually used in the `YIELD` and `RETURN` clauses. The `CASE` expression will traverse all the conditions. When the first condition is met, the `CASE` expression stops reading the conditions and returns the result. If no conditions are met, it returns the result in the `ELSE` clause. If there is no `ELSE` clause and no conditions are met, it returns `NULL`.
+
+ Syntax:
+
+ ```
+ CASE
+ WHEN THEN
+ [WHEN ...]
+ [ELSE ]
+ END
+ ```
+
+|Parameter|Description|
+|-|-|
+|`comparer`|A value or a valid expression that outputs a value. This value is used to compare with the `value`.|
+|`value`|It will be compared with the `comparer`. If the `value` matches the `comparer`, then this condition is met.|
+|`result`|The `result` is returned by the `CASE` expression if the `value` matches the `comparer`.|
+|`default`|The `default` is returned by the `CASE` expression if no conditions are met.|
+
+
+
+## General queries statements
+
+* [MATCH](../3.ngql-guide/7.general-query-statements/2.match.md)
+
+ ```
+ MATCH [] RETURN