> lección 7/14 · 16 min

SQL asistido: revisar la consulta antes de confiar

Concepto

Una consulta SQL escrita por la IA suele verse impecable: alias, mayúsculas, sangría. Por eso sus errores pasan fácil. Los más comunes no dan error al ejecutar: unen tablas por la columna equivocada u olvidan un filtro, y devuelven un resultado que parece razonable.

Un buen pedido de SQL. Entrega el motor (PostgreSQL, MySQL, SQL Server), las tablas con sus columnas, cómo se relacionan y la pregunta exacta:

PostgreSQL. Tablas: tickets(id, area_id, estado, fecha_creacion como texto AAAA-MM-DD)
y areas(id, nombre). tickets.area_id apunta a areas.id.
Quiero cuántos tickets cerrados hubo por área en junio de 2026.

Cómo revisar la respuesta.

  1. Cada JOIN: ¿une la columna que apunta (area_id) con el id de la otra tabla? Un ON a.id = t.id une el ticket 1 con el área 1 sin que tengan nada que ver.
  2. Cada condición de la pregunta: "cerrados" y "en junio" son dos filtros. ¿Están los dos en el WHERE?
  3. Un número de control: cuenta a mano o con una consulta simple un caso conocido, por ejemplo los tickets cerrados de junio de una sola área, y compara.
SELECT id, estado, fecha_creacion FROM tickets WHERE area_id = 2;

Nunca en producción sin revisar. Una consulta de lectura equivocada da un número malo; una de escritura (UPDATE, DELETE) equivocada borra datos. Prueba siempre primero en una copia o con un SELECT.

> tarea SQL

La IA escribió esta consulta para contar los tickets cerrados por área en junio de 2026. Tiene dos errores que no dan error al ejecutarla. Corrígela: debe devolver nombre y cerrados.

Tablas disponibles
  • areas: id, nombre
  • reclamos: id, fecha, cliente, rut, email, canal, area, monto_reclamado, descripcion
  • tickets: id, area_id, estado, fecha_creacion

Primero intenta: las pistas aparecen después de 2 intentos con un resultado incorrecto (los errores de código no cuentan). Llevas 0.

Aprueba las tareas de esta lección para ver el cierre.