# Query keywords

The following keywords are used in Data Shaping Query Language. They are case insensitive.

* FROM to iterate on an input array.
* AS to define an alias for an array.
* INDEX to store an index for an iteration.
* UNNEST to unnest a nested array.
* WHERE to filter items.
* SELECT to choose the elements to return in the query result.
* JOIN or INNER JOIN to perform an inner join between two arrays.
* LEFT OUTER JOIN to perform a left outer join between two arrays.
* ON to define the condition to join two arrays.
* ORDER BY to order items in an array.
* DESC to order items in descending order.
* ASC to order items in ascending order.
* LIMIT to define a number of items to return in the query result.
* OFFSET to define a number of items to ignore at the beginning of the query result.
* UNION ALL to separate two query blocks.
* WITH, LET and SET to define variables.
* GROUP BY to group items generated in a previous clause.
* GROUP AS to assign an alias to a group generated by a GROUP BY clause.
* HAVING to filter groups.
* TO and BY to generate an array of integers.