Ficha · Sesión 17 · Módulo IV, Los datos
«De la pregunta a la herramienta»
¿Cómo se le hace una pregunta precisa a una tabla, y cómo se sabe que la respuesta es correcta?
Con una consulta SQL que filtra, agrupa y resume. Una consulta se acepta cuando sus cifras cuadran con el total y con un cálculo hecho a mano, no cuando corre sin error.
SQL: preguntarle a tus datos
El oficio que ya tienes
Hacer tabulados y cruzar variables. Quien ha contado respuestas por grupo en una hoja de cálculo ya piensa en SQL: filtrar, agrupar, contar. Y quien ha revisado un tabulado ajeno sabe que el primer paso es ver si los totales cuadran.
En Marienthal
La pregunta de clase es cuántas horas de trabajo no remunerado reporta cada grupo de edad. Se le pide al agente en esas palabras; devuelve una consulta con GROUP BY grupo_edad, COUNT(*) y AVG(horas_no_remuneradas), y explica cada renglón. Antes de usar la cifra, la suma de las personas por grupo tiene que dar el total de respuestas, y quienes dejaron las horas en blanco se cuentan aparte.
En tu proyecto
Escribe en palabras tres preguntas que tu proyecto le hará a sus datos. Pídele al agente la consulta de cada una, córrelas sobre las respuestas de la prueba piloto y verifica al menos una a mano.
Conceptos
- Consulta
- Una instrucción en SQL que pide datos a la base. Leerla no cambia nada en la tabla.
- Condición
- Lo que va después de WHERE: una regla que cada fila cumple o no, como grupo_edad = '30 a 44'.
- Agregación
- Resumir muchas filas en un número: COUNT las cuenta, AVG promedia, SUM suma.
- NULL
- La marca de un valor que no existe, como una pregunta sin responder. No es cero ni texto vacío.
Instrumental
.mode table- Mostrar los resultados de sqlite3 como una tabla con encabezados.
SELECT * FROM respuestas LIMIT 10;- Ver las primeras diez filas antes de preguntar nada.
SELECT COUNT(*) FROM respuestas WHERE cansancio >= 4;- Contar cuántas personas terminan el día muy cansadas.
SELECT grupo_edad, COUNT(*), AVG(horas_no_remuneradas) FROM respuestas GROUP BY grupo_edad;- Personas y promedio de horas de trabajo no remunerado en cada grupo de edad.
SELECT COUNT(*) FROM respuestas;- El total contra el que se comprueba que los conteos por grupo cuadran.
Para tu bitácora
¿Qué comprobación harías antes de creerle a una cifra que salió de una consulta escrita por el agente?