Generazione di query SQL dal linguaggio naturale
Impari a creare prompt per un LLM affinché traduca domande in linguaggio naturale in SQL corretto, fornendo il contesto dello schema, esempi e guardrail di sicurezza.
Generazione di query SQL dal linguaggio naturale è una lezione Prompt Engineering & LLM Optimization for Developers gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Prompt Engineering & LLM Optimization for Developers, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Prompt Engineering & LLM Optimization for Developers include 4 lezioni in totale.
Parti di questa lezione non sono ancora state tradotte e vengono mostrate in inglese.
Text-to-SQL Overview
One of the most practical developer uses of LLMs is turning a plain question like How many orders shipped last week? into a runnable SQL query.
Done well, it lets non-experts query data and speeds up everyday analysis.
The Model Needs the Schema
An LLM cannot guess your table and column names. Always include the relevant schema in the prompt so it references real fields.
Schema:
orders(id, customer_id, status, total, created_at)
customers(id, name, country)A Basic Text-to-SQL Prompt
Combine schema, the question, and an instruction to return only SQL.
Given the schema above, write a single
Postgres query. Return only SQL.
Question: total revenue per country last month.Specify the Dialect
SQL dialects differ (Postgres, MySQL, SQLite, BigQuery). State which one you use, or the model may emit functions your database does not support.
Few-Shot Examples Help
Showing one or two question-to-SQL pairs teaches the model your conventions, like how you format dates or name aliases.
Q: customers from Japan
SQL: SELECT * FROM customers WHERE country = 'Japan';
Q: orders over 100
SQL: SELECT * FROM orders WHERE total > 100;Handling Joins
For questions spanning tables, hint at the relationships in the schema (foreign keys) so the model joins correctly instead of guessing.
-- orders.customer_id references customers.id
SELECT c.country, SUM(o.total)
FROM orders o JOIN customers c
ON o.customer_id = c.id
GROUP BY c.country;Guardrail: Read-Only
Never run model-generated SQL with write access. Restrict the connection to SELECT only and reject any query containing DELETE, UPDATE, or DROP.
if (/\b(delete|update|drop|insert)\b/i.test(sql)) {
throw new Error('Only read queries allowed');
}Validate Before Executing
Parse or EXPLAIN the query before running it. This catches syntax errors and lets you reject queries touching tables outside an allowlist.
EXPLAIN SELECT ...; -- check plan, no data fetchedSelf-Correction Loop
If the query errors, feed the database error message back to the model and ask it to fix the SQL. Two or three attempts usually resolve most mistakes.
The query failed with: column "revenue"
does not exist. Fix the SQL.Explaining Results
After running the query, you can ask the model to summarize the rows in plain language, closing the loop from question to readable answer.
Limits to Remember
- Ambiguous questions yield ambiguous SQL.
- Large schemas may not fit in context, retrieve the relevant tables.
- Always verify aggregates on critical reports.
Quick Check
Test your understanding of text-to-SQL.
Recap
Text-to-SQL works by giving the model the schema, dialect, and few-shot examples, then validating output. Always run generated SQL read-only, validate before executing, and use a self-correction loop on errors.
Domande Frequenti
La lezione «Generazione di query SQL dal linguaggio naturale» è gratuita?
Sì — il testo completo di «Generazione di query SQL dal linguaggio naturale» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Prompt Engineering & LLM Optimization for Developers, passa a CoddyKit PRO. Il corso Prompt Engineering & LLM Optimization for Developers include 4 lezioni in totale.
Cosa imparerò in «Generazione di query SQL dal linguaggio naturale»?
Impari a creare prompt per un LLM affinché traduca domande in linguaggio naturale in SQL corretto, fornendo il contesto dello schema, esempi e guardrail di sicurezza. Eserciti Prompt Engineering & LLM Optimization for Developers con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Prompt Engineering & LLM Optimization for Developers?
Non è richiesta alcuna esperienza precedente. Prompt Engineering & LLM Optimization for Developers su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.
Quanto tempo richiede la lezione «Generazione di query SQL dal linguaggio naturale»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Prompt Engineering & LLM Optimization for Developers?
Sì. Ogni lezione Prompt Engineering & LLM Optimization for Developers include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Generazione e refactoring del codice
- Debugging e generazione di casi di test
- Estrazione e riepilogo dei dati
- Generazione di query SQL dal linguaggio naturale