SQL practice datasets
10 datasetsthat fit SQL ยท 1 exercise with answers
A four-table store database with keys for JOINs, plus single-table .sql files for GROUP BY practice. Updated 3 November 2026.
textnumberdateyes/no
Start here
Each .sql file creates its table and inserts the rows, and runs in PostgreSQL, MySQL or SQLite. The store database adds foreign keys between customers, orders, order items and products, so you can practise joins and check your answers.
Each .sql file has CREATE TABLE and INSERT statements in plain SQL that run in PostgreSQL, MySQL and SQLite. For SQLite: sqlite3 practice.db < file.sql.
Datasets for SQL
| Dataset | What it is | Max rows |
|---|---|---|
| Sample sales data | Superstore-style retail orders with sales, cost, discount and profit. | 10,000 |
| Sample employee data | An HR table: departments, titles, hire dates, salaries and managers. | 10,000 |
| Sample customer data | A customer list with segments, order counts, lifetime spend and activity. | 10,000 |
| Sample SQL database | Four related tables (customers, products, orders, order items) for JOIN practice. | 1,000 |
| Sample inventory data | Stock levels, reorder points and stock value across four warehouses. | 10,000 |
| Sample student data | Test scores, averages, letter grades and attendance for grades 9-12. | 10,000 |
| Sample call center data | Calls with queue, reason, wait and handle time, resolution and CSAT. | 10,000 |
| Sample restaurant sales data | Order lines with menu items, tickets, order type and payment. | 10,000 |
| Sample invoice data | Invoices with due dates, payment dates, tax, status and days late. | 10,000 |
| U.S. state population data | Census Bureau population estimates for every state and DC, 2020-2024. | 51 |