1
0
Fork 0
arangodb/Documentation/Books/Users/Aql
jsteemann ecd7de16cb added optimizer rule "inline-subqueries" 2016-04-15 17:21:22 +02:00
..
Advanced.mdpp Documentation: Aql update 2016-01-27 19:55:34 +01:00
AqlWithArangosh.mdpp Add profile query example 2016-02-10 15:53:15 +01:00
AqlWithWebInterface.mdpp Documentation: Web Interface-bind parameter example added 2016-01-31 12:41:39 +01:00
ArrayFunctions.mdpp Documentation: links between array related features 2016-01-16 10:58:49 +01:00
ArrayOperators.mdpp Documentation: links between array related features 2016-01-16 10:58:49 +01:00
BindParameters.mdpp Documentation: Parameters Binding links 2016-01-30 20:45:56 +01:00
DataModification.mdpp Documentaiotn: Aql links added 2016-01-27 20:49:44 +01:00
DataTypes.mdpp reorganise Aql/Basics.md for improved information retrieval 2016-01-21 13:10:09 +01:00
DateFunctions.mdpp make **string** bold 2015-12-16 11:17:38 +01:00
DocumentData.mdpp reorganise Aql/Basics.md for improved information retrieval 2016-01-21 13:10:09 +01:00
DocumentFunctions.mdpp Further implementation of VPackAqlValue functions. This included VALUES and ATTRIBUTES. These functions by accident had an ordering in TRI_json_t which they do not have any more in VelocyPack. Clarified Documentation. 2016-02-04 13:49:59 +01:00
ExecutionPerformance.mdpp documentation:regroup AQL stats, parsing and performance chapters 2015-12-30 02:34:06 +01:00
ExplainingQueries.mdpp documentation:regroup AQL stats, parsing and performance chapters 2015-12-30 02:34:06 +01:00
FulltextFunctions.mdpp documentation: links between fulltext chapters 2016-02-02 17:41:40 +01:00
Functions.mdpp Documentation: corrected typos and case, prefer American over British English 2015-09-01 17:19:13 +02:00
Fundamentals.mdpp move QueryErrors - Aql/Fundamentals links explained 2016-01-22 20:41:08 +01:00
GeoFunctions.mdpp Documentation: improved geo links 2016-01-16 12:30:20 +01:00
GraphFunctions.mdpp fixed wrong documentation for SHORTEST_PATH 2016-03-24 18:19:03 +01:00
GraphOperations.mdpp fix markdown syntax 2016-02-08 15:30:05 +01:00
GraphTraversals.mdpp Added documentation for multi-direction collections. 2016-01-28 16:59:11 +01:00
Graphs.mdpp Relayout the graph documentation to have one start chapter with explanations, and each others only document their function and link back to the global explanation. 2016-01-07 14:17:14 +01:00
Invoke.mdpp Documentation: Parameters Binding links 2016-01-30 20:45:56 +01:00
MiscellaneousFunctions.mdpp Documentation: corrected typos and case, prefer American over British English 2015-09-01 17:19:13 +02:00
NumericFunctions.mdpp added POW function to docs 2015-12-02 17:19:17 +01:00
Operations.mdpp documentation: links added 2015-12-30 11:18:23 +01:00
Operators.mdpp updated CHANGELOG 2016-02-10 15:43:15 +01:00
Optimizer.mdpp added optimizer rule "inline-subqueries" 2016-04-15 17:21:22 +02:00
ParsingQueries.mdpp documentation:regroup AQL stats, parsing and performance chapters 2015-12-30 02:34:06 +01:00
QueryCache.mdpp org/arangodb -> @arangodb 2015-12-15 15:51:44 +01:00
QueryErrors.mdpp move AQL query errors in its own chapter 2016-01-22 20:39:52 +01:00
QueryResults.mdpp move AQL query errors in its own chapter 2016-01-22 20:39:52 +01:00
QueryStatistics.mdpp documentation:regroup AQL stats, parsing and performance chapters 2015-12-30 02:34:06 +01:00
README.mdpp Documentaiotn: Aql links added 2016-01-27 20:49:44 +01:00
StringFunctions.mdpp Documentation: corrected typos and case, prefer American over British English 2015-09-01 17:19:13 +02:00
Syntax.mdpp updated CHANGELOG 2016-02-10 15:43:15 +01:00
TypeCastFunctions.mdpp updated docs 2015-12-04 11:16:02 +01:00
TypeValueOrder.mdpp reorganise Aql/Basics.md for improved information retrieval 2016-01-21 13:10:09 +01: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 a query expresses what result
should be achieved but not how it should be achieved. 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
may 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 pages [Data Modification Queries](DataModification.md)  and 
[Usual query patterns](../AqlExamples/README.md).