1
0
Fork 0
arangodb/Documentation/Books/Users/Aql
Thomas Schmidts c350170394 Fixed spelling errors and look of code 2014-07-08 10:49:24 +02:00
..
Advanced.mdpp Changed Order of some subchapters and moved Extending AQL and AQL Examples into AQL 2014-06-26 16:59:51 +02:00
Basics.mdpp Comments in markdown will be deleted before building the book. Also deleted missing @ref comments 2014-07-07 09:10:37 +02:00
DataModification.mdpp wrote new features and upgrading docs 2014-07-08 00:27:59 +02:00
Functions.mdpp Comments in markdown will be deleted before building the book. Also deleted missing @ref comments 2014-07-07 09:10:37 +02:00
GraphOperations.mdpp Fixed a bug in GraphOperations layouting 2014-06-30 17:45:45 +02:00
Invoke.mdpp data-modification AQL 2014-07-05 18:03:49 +02:00
Operations.mdpp Fixed spelling errors and look of code 2014-07-08 10:49:24 +02:00
Operators.mdpp Changed Order of some subchapters and moved Extending AQL and AQL Examples into AQL 2014-06-26 16:59:51 +02:00
QueryResults.mdpp Some syntax fixes 2014-06-06 01:23:18 +02:00
README.mdpp updated documentation 2014-07-06 00:21:55 +02:00

README.mdpp

!CHAPTER Introduction 

The ArangoDB query language (AQL) can be used to retrieve and modify data that 
are stored in ArangoDB. The general workflow when executing a query is as follows:

- A client application ships an AQL query to the ArangoDB server. The query text
  contains everything ArangoDB needs to compile the result set
- ArangoDB will parse the query, execute it and compile the results. If the
  query is invalid or cannot be executed, the server will return an error that
  the client can process and react to. If the query can be executed
  successfully, the server will return the query results (if any) to the client

AQL is mainly a declarative language, meaning that in a query it is expressed
what result should be achieved and not how. AQL aims to be human- readable and
therefore uses keywords from the English language. Another design goal of AQL
was client independency, meaning that the language and syntax are the same for
all clients, no matter what programming language the clients might use.  Further
design goals of AQL were the support of complex query patterns and the different
data models ArangoDB offers.

In its purpose, AQL is similar to the Structured Query Language (SQL). AQL supports 
reading and modifying collection data, but it doesn't support data-definition
operations such as creating and dropping databases, collections and indexes.

The syntax of AQL queries is different to SQL, even if some keywords overlap.
Nevertheless, AQL should be easy to understand for anyone with an SQL background.

For some example queries, please refer to the page [AQL Examples](../AqlExamples/README.md).