Query by Example

Example of QBE query with joins, designed in Borland's Paradox database

Query by Example (QBE) is a database query language for relational databases. It was devised by Moshé M. Zloof at IBM Research during the mid-1970s, in parallel to the development of SQL.[1] It is the first graphical query language, using visual tables where the user would enter commands, example elements and conditions. Many graphical front-ends for databases use the ideas from QBE today. Originally limited only for the purpose of retrieving data, QBE was later extended to allow other operations, such as inserts, deletes and updates, as well as creation of temporary tables.

The motivation behind QBE is that a parser can convert the user's actions into statements expressed in a database manipulation language, such as SQL. Behind the scenes, it is this statement that is actually executed. A suitably comprehensive front-end can minimize the burden on the user to remember the finer details of SQL, and it is easier and more productive for end-users (and even programmers) to select tables and columns by selecting them rather than typing in their names.

In the context of information retrieval, QBE has a somewhat different meaning. The user can submit a document, or several documents, and ask for "similar" documents to be retrieved from a document database [see search by multiple examples[2]]. Similarity search is based comparing document vectors (see Vector Space Model).

QBE represents seminal work in end-user development, frequently cited in research papers as an early example of this topic.

Currently, QBE is supported in several relational database front ends, notably Microsoft Access, which implements "Visual Query by Example", as well as Microsoft SQL Server Enterprise Manager. It is also implemented in several object-oriented databases (e.g. in db4o[3]).

QBE is based on the logical formalism called tableau query, although QBE adds some extensions to that, much like SQL is based on the relational algebra.

  1. ^ Zloof, M.M. (1977). "Query-by-Example: A data base language". IBM Systems Journal. 16 (4): 324–343. CiteSeerX 10.1.1.86.3485. doi:10.1147/sj.164.0324.
  2. ^ Zhu, Mingzhu; Wu, Yi-Fang Brook (2014-02-24). "Search by multiple examples". Proceedings of the 7th ACM international conference on Web search and data mining. ACM. pp. 667–672. doi:10.1145/2556195.2556206. ISBN 9781450323512. S2CID 8397529.
  3. ^ "QBE", db4o, Developer works Java library, IBM, 27 March 2007