Язык QBE (Query By Example) был разработан отделением IBM Reseach в конце 70-х годов на основе шаблонов, предложенных Робертом Злуфом (по другим источникам М.Злуфом). Он был задуман как средство, облегчающее работу для неспециалистов. Этот язык получил у пользователей столь широкое признание, что в настоящее время он реализован практически по всех популярных СУБД. В ряде источников говорится что QBE есть предтеча SQL, но более корректны, на мой взгляд, источники утверждающие что QBE был алтернативным средством работы с реляционными данными. Но в ходе практического использования QBE стал дополнением к SQL.
Язык QBE использует визуальный подход к организации доступа к информации в базе данных. Работа в нем осуществляется посредством задания образцов значений в шаблоне запроса.
Усовершенствованная версия QBE — GQBE (графический QBE) используется в конструкторе запросов Microsoft Access. Любая реализация QBE, в том числе и GQBE, является лишь интерфейсом к SQL.
На снимке представлен вариант создания запроса в QBE (в OpenOffice.Base). Полученный результат эквивалентен выполнению запроса:
SELECT "orders"."onum", "customers"."cname", "salers"."sname" FROM "orders", "customers", "salers" WHERE "orders"."cnum" = "customers"."cnum" AND "orders"."snum" = "salers"."snum" AND "salers"."city" = 'London'
Все поля, которые участвуют в запросе (на вывод, в условиях) должны быть представлены в таблице, которая определяет шаблон запроса. Поля, которые не надо использовать для вывода, отмечаются как невидимые (снимается отметка "Видимый"). Если поле используется для вывода и в условии, то его достаточно один раз указать в шаблоне, а условия перечислить в соответствующих ячейках.
Если требуется задать несколько условий по AND, то такие условия описываются в одной строке. Если требуется задать несколько условий по OR, то такие условия описываются в разных строках шаблона.