A database result set is a table containing a selected block of rows from a database. It includes the information stored in those rows along with the "meta-information" for those rows. Meta-information includes details about the arrangement of the rows, such as the total number of columns and the individual column names. The end-user typically uses result sets to produce information in response to a query, which is a structured request for information from a database.
When an end-user makes a query, he or she requests specific information from a database. A sample query might seek to generate a list of the names of all employees hired in June of the previous year. When queried, the database would scan its contents, find the files that fit the requested criteria, and place those files into a result set. The result set is then displayed onscreen along with its meta-data.
Viewing a result set can be a chaotic experience, because without parameters, a computer has no method by which to organize returned data. The "Order By" command in the Structured Query Language (SQL) resolves this conflict, allowing the end-user to dictate how the computer's database program should display the results. For example, organization through alphabetization is common. In the previous example, results might be organized by hiring date.
Some meta-data might not be available, depending on the specific database program being used. For example, asking the database to pre-calculate the number of rows in a result set often proves impossible, as this information is not available beforehand. Therefore, a request asking the database to provide the exact number of employees over 25 years of age who make $10,000 US Dollars (USD) a year or more — in other words, the number of rows that would be in a result set for the query — might return a null result, as the program cannot "know" the answer without first generating the full result set by running the actual query. Knowing this information might be necessary when the end-user wishes to have a tally of the result, but does not require a full result set; in other words, where the employees' names and other information is irrelevant or immaterial to the request.