  We present a generative model to map natural language questions into SQL
queries. Existing neural network based approaches typically generate a SQL
query word-by-word, however, a large portion of the generated results are
incorrect or not executable due to the mismatch between question words and
table contents. Our approach addresses this problem by considering the
structure of table and the syntax of SQL language. The quality of the generated
SQL query is significantly improved through (1) learning to replicate content
from column names, cells or SQL keywords; and (2) improving the generation of
WHERE clause by leveraging the column-cell relation. Experiments are conducted
on WikiSQL, a recently released dataset with the largest question-SQL pairs.
Our approach significantly improves the state-of-the-art execution accuracy
from 69.0% to 74.4%.
