SQL — Library schema (DDL, view, join)
A realistic SQL script with CREATE TABLE constraints and foreign keys, INSERT seed data, a CREATE VIEW, and a grouped aggregate query with a join — for testing SQL parsers, formatters, and highlighters.
-- A small library schema: tables with constraints, seed data,
-- a view, and an aggregate query with a join.
CREATE TABLE authors (
id INTEGER PRIMARY KEY,
name TEXT NOT NULL,
country TEXT
);
CREATE TABLE books (
id INTEGER PRIMARY KEY,
author_id INTEGER NOT NULL REFERENCES authors (id),
title TEXT NOT NULL,
published INTEGER,
rating NUMERIC(3, 1) CHECK (rating BETWEEN 0 AND 5)
);
INSERT INTO authors (id, name, country) VALUES
(1, 'Ada Lovelace', 'UK'),
(2, 'Grace Hopper', 'US');
INSERT INTO books (id, author_id, title, published, rating) VALUES
(1, 1, 'Notes on the Analytical Engine', 1843, 4.8),
(2, 2, 'Compiling for Humans', 1952, 4.5);
CREATE VIEW book_catalog AS
SELECT b.title, a.name AS author, b.published, b.rating
FROM books AS b
JOIN authors AS a ON a.id = b.author_id;
SELECT author, COUNT(*) AS titles, AVG(rating) AS avg_rating
FROM book_catalog
GROUP BY author
ORDER BY avg_rating DESC;
Specifications
- Language
- SQL
- Kind
- realistic snippet
- Lines
- 33
- Encoding
- UTF-8
- Line Endings
- LF
What is a .sql file?
SQL files contain plain-text Structured Query Language statements, typically schema definitions, data inserts, or queries used to build or populate a database. Dialect details vary between engines such as PostgreSQL, MySQL, and SQLite. A dump file often recreates an entire database when executed.
How to use this file
Use an example SQL file to test statement parsing, database restore and migration tooling, and dialect-compatibility of import pipelines.
Code examples
psql mydb < library-schema.sql # PostgreSQL
mysql -u user -p mydb < library-schema.sql # MySQLRelated files
- sqlSQL — Hello WorldThe classic first query in SQL — a single SELECT of a literal — for testing highlighters, SQL parsers, and query editors.

- cC — Hello WorldThe classic hello-world in C — an include, main, and printf — for testing highlighters, C compilers, and parsers against the canonical first program.

- cC — Linked list (structs, malloc, pointers)A realistic C program: a singly linked list with a typedef struct, malloc/free memory management, pointer walking, and error handling — for testing highlighters, compilers, and static analysers.

- cppC++ — Hello WorldThe classic hello-world in C++ — iostream and std::cout — for testing highlighters, C++ compilers, and parsers.

- cppC++ — Series (class template, STL)A realistic C++ snippet with a class template, STL algorithms (max_element, accumulate), std::move, and range handling — for testing highlighters, g++/clang++, and parsers against real templates.

- cssCSS — Component styles (variables, flexbox, keyframes)A realistic component stylesheet using custom properties, flexbox, a fluid clamp() font size, color-mix(), a keyframe animation, and a media query — for testing CSS parsers, linters (stylelint), and highlighters.

Generated by generation/code_samples.py. Free for any use, no attribution required — license.