SQL Dojo Beta
Técnica

Invariantes como tests

Una regla que debe cumplirse en cada fila, o entre un modelo y su fuente, escrita como «las filas que la incumplen».

SELECT … WHERE total <> items - discounts + shipping es un test: pasa cuando no devuelve ninguna fila (dbt ejecuta este tipo de consultas como singular tests). Entre capas, compare recuentos: un JOIN que solo añade columnas debe mantener rows_in = rows_out, y COUNT(*) frente a COUNT(DISTINCT key) en cada CTE muestra dónde se rompió la granularidad.

-- A payment never comes before its order: no row means the test passes.
SELECT p.payment_id, p.paid_at, o.ordered_at
FROM payments p
JOIN orders o ON o.order_id = p.order_id
WHERE p.paid_at < o.ordered_at;
payment_idpaid_atordered_at
Ninguna fila
Probarlo en Randori