Track Data Quality Over Time
INSERT INTO data_quality_log (check_date, table_name, check_name, pass_count, fail_count)
SELECT
CURRENT_DATE,
'users',
'email_format',
COUNT(*) FILTER (WHERE email ~ '^[^@]+@[^@]+\.[^@]+$'),
COUNT(*) FILTER (WHERE email !~ '^[^@]+@[^@]+\.[^@]+$' OR email IS NULL)
FROM users;Alert on Quality Degradation
WITH current_quality AS (
SELECT
COUNT(*) FILTER (WHERE column_name IS NULL) * 100.0 / COUNT(*) AS null_rate
FROM table_name
),
historical_avg AS (
SELECT AVG(fail_count * 100.0 / (pass_count + fail_count)) AS avg_rate
FROM data_quality_log
WHERE table_name = 'table_name'
AND check_date >= CURRENT_DATE - 30
)
SELECT
CASE
WHEN c.null_rate > h.avg_rate * 1.5 THEN 'ALERT: Quality degradation detected'
ELSE 'OK'
END AS status,
c.null_rate AS current_rate,
h.avg_rate AS historical_rate
FROM current_quality c, historical_avg h;sql-analytics
Analytical and aggregation SQL — GROUP BY, ROLLUP, CUBE, GROUPING SETS, pivots, cohorts, funnels, retention, percentiles and statistical functions.
sql-debugger
Debug failing SQL or queries returning wrong results — interpret error messages, find causes of duplicates, missing rows, NULL surprises, fan-out joins and type mismatches, and produce a fixed query.
sql-dialect-translator
Translate SQL between dialects — PostgreSQL, MySQL, SQL Server (T-SQL), Oracle, SQLite — covering data types, functions, pagination, date handling, upserts and identity columns.
sql-optimizer
Rewrite slow SQL queries for performance — read execution plans (EXPLAIN / EXPLAIN ANALYZE), remove anti-patterns, make predicates sargable, choose JOIN/EXISTS strategies and suggest indexes.
sql-performance-tuning
Database-level SQL performance tuning — index design and maintenance, query profiling, statistics, partitioning, schema design, locking and configuration bottlenecks.
sql-query-explainer
Explain what an existing SQL query does in plain language — logical execution order, step-by-step breakdown of joins, filters, grouping and window logic, and the shape of the result.