Lección 6 de 6 · 2 min
Las consultas clásicas de QA
Al terminar sabrás
10 min- Escribir la consulta de duplicados con GROUP BY y HAVING
- Detectar nulos inesperados y valores fuera de rango
- Armar tu kit reutilizable de consultas de calidad de datos
Construyes: Tu propio 'kit de consultas QA' reutilizable para cualquier proyecto con base de datos.
De consultas sueltas a un kit reutilizable
Después de un par de proyectos te das cuenta de que las mismas preguntas se repiten: ¿hay duplicados? ¿hay huérfanos? ¿hay nulos donde no debería? Un buen QA de datos tiene su kit de consultas listo para adaptar. Aquí están las cuatro imprescindibles.
1. Duplicados
-- Emails que aparecen más de una vez
SELECT email, COUNT(*) AS veces
FROM usuarios
GROUP BY email
HAVING COUNT(*) > 1;
La clave es HAVING: filtra grupos según su agregado, después del GROUP BY. WHERE no sirve aquí porque filtra filas antes de agrupar.
2. Huérfanos (integridad referencial)
-- Reservas cuyo cliente no existe
SELECT r.*
FROM reservas r
LEFT JOIN clientes c ON r.cliente_id = c.id
WHERE c.id IS NULL;
3. Nulos inesperados
-- Campos obligatorios que quedaron vacíos
SELECT * FROM reservas
WHERE total IS NULL
OR fecha IS NULL
OR estado IS NULL;
4. Valores fuera de rango (dominio)
-- Totales imposibles y fechas absurdas
SELECT * FROM reservas
WHERE total < 0
OR total > 10000000
OR fecha < '2020-01-01';
Un total negativo, un descuento mayor al precio, una edad de 200: valores que existen pero están fuera de lo válido. Solo saltan consultando el rango.
Cierre del curso
Ya tienes el SQL que usa un QA todos los días: leer, filtrar, cruzar, cuadrar y cazar datos corruptos. Guarda tu kit de las cuatro consultas —es material de portafolio— y adáptalo a cada proyecto.
El siguiente paso es aplicar todo esto a datos en movimiento: el curso de Testing de datos y ETL, donde validas que los datos que viajan entre sistemas lleguen completos, exactos e íntegros. Es tu diferencial en el mercado.
Comprueba lo aprendido en el quiz y arma tu kit en el reto final.
Compruébalo
0/3Responde sin mirar atrás. Verás la explicación al instante.
1. ¿Cuál detecta emails duplicados en la tabla usuarios?
2. ¿Para qué sirve HAVING (vs WHERE)?
3. Encuentras 30 reservas con total negativo. ¿Qué tipo de verificación es?
Reto final: tu kit de consultas QA
Arma un archivo con 4 consultas reutilizables para cualquier proyecto: (1) duplicados de un campo único, (2) huérfanos entre dos tablas, (3) nulos en un campo obligatorio, (4) valores fuera de rango.
Guárdalo: es material de portafolio y lo reusarás en cada proyecto.