Queries are objects whose purpose is to create extracted sets of data from the Business Central database and do so very efficiently. Business Central queries translate directly into T-SQL query statements and run on the SQL Server side rather than on the Business Central Service Tier. A query can extract data from a single table or multiple tables. In the process of extracting data, a query can make different types of joins (inner join, outer join, or cross join), filter, calculate FlowFields (special Business Central calculations that are discussed in detail in Chapter 3, Data Types and Fields), sort, and create sums and averages. Queries obey the Business Central data structure business logic.
The output of a query can be a CSV file (useful for Excel charts), an XML file (for charts or external applications), or an Odata file for a web service. Queries can be published for web service access, similar to pages and codeunits. The results of a query can also be viewed by pages (as described in Chapter 5, Queries and Reports), but are especially powerful when output to charts. With a little creativity, a query can also be used to feed data to a page or report via the use of a temporary table to hold the query results.