Duoquest: A Dual-Specification System for Expressive SQL Queries

by   Christopher Baik, et al.

Querying a relational database is difficult because it requires users to know both the SQL language and be familiar with the schema. On the other hand, many users possess enough domain familiarity or expertise to describe their desired queries by alternative means. For such users, two major alternatives to writing SQL are natural language interfaces (NLIs) and programming-by-example (PBE). Both of these alternatives face certain pitfalls: natural language queries (NLQs) are often ambiguous, even for human interpreters, while current PBE approaches require either low-complexity queries, user schema knowledge, exact example tuples from the user, or a closed-world assumption to be tractable. Consequently, we propose dual-specification query synthesis, which consumes both a NLQ and an optional PBE-like table sketch query that enables users to express varied levels of domain-specific knowledge. We introduce the novel dual-specification Duoquest system, which leverages guided partial query enumeration to efficiently explore the space of possible queries. We present results from user studies in which Duoquest demonstrates a 62.5 increase in query construction accuracy over a state-of-the-art NLI and comparable accuracy to a PBE system on a more limited workload supported by the PBE system. In a simulation study on the prominent Spider benchmark, Duoquest demonstrates a >2x increase in top-1 accuracy over both NLI and PBE.


page 1

page 2

page 3

page 4


Example-Driven User Intent Discovery: Empowering Users to Cross the SQL Barrier Through Query by Example

Traditional data systems require specialized technical skills where user...

Data Agnostic RoBERTa-based Natural Language to SQL Query Generation

Relational databases are among the most widely used architectures to sto...

SchenQL -- A Domain-Specific Query Language on Bibliographic Metadata

Information access needs to be uncomplicated, users rather use incorrect...

Synthesizing Analytical SQL Queries from Computation Demonstration

Analytical SQL is widely used in modern database applications and data a...

PATSQL: Efficient Synthesis of SQL Queries from Example Tables with Quick Inference of Projected Columns

SQL is one of the most popular tools for data analysis and used by an in...

QueryBooster: Improving SQL Performance Using Middleware Services for Human-Centered Query Rewriting

SQL query performance is critical in database applications, and query re...

CUBES: A Parallel Synthesizer for SQL Using Examples

In recent years, more and more people see their work depend on data mani...

Please sign up or login with your details

Forgot password? Click here to reset