  Zero-shot NL2SQL is crucial in achieving natural language to SQL that is
adaptive to new environments (e.g., new databases, new linguistic phenomena or
SQL structures) with zero annotated NL2SQL samples from such environments.
Existing approaches either fine-tune pre-trained language models (PLMs) based
on annotated data or use prompts to guide fixed large language models (LLMs)
such as ChatGPT. PLMs can perform well in schema alignment but struggle to
achieve complex reasoning, while LLMs is superior in complex reasoning tasks
but cannot achieve precise schema alignment. In this paper, we propose a
ZeroNL2SQL framework that combines the complementary advantages of PLMs and
LLMs for supporting zero-shot NL2SQL. ZeroNL2SQL first uses PLMs to generate an
SQL sketch via schema alignment, then uses LLMs to fill the missing information
via complex reasoning. Moreover, in order to better align the generated SQL
queries with values in the given database instances, we design a predicate
calibration method to guide the LLM in completing the SQL sketches based on the
database instances and select the optimal SQL query via an execution-based
strategy. Comprehensive experiments show that ZeroNL2SQL can achieve the best
zero-shot NL2SQL performance on real-world benchmarks. Specifically, ZeroNL2SQL
outperforms the state-of-the-art PLM-based methods by 3.2% to 13% and exceeds
LLM-based methods by 10% to 20% on execution accuracy.
