Skip to content
Novus Examples
sql994 B

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.

Preview — first 34 linessql
-- 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  # MySQL

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