Capítulo 11 · 8 niveles

Leer y arreglar consultas

Depura consultas que heredas: multiplicación de filas en joins, el grano equivocado en GROUP BY, WHERE vs HAVING, división entera, límites de fechas, zonas horarias y NOT IN con NULL.

En el trabajo escribes menos consultas desde cero de lo que crees. La mayoría de las semanas las heredas: la consulta de un panel de alguien que se fue, un script que un colega pegó en un ticket, un informe que “siempre ha funcionado” hasta que alguien nota que los números no cuadran. Cada nivel de este capítulo parte de una de esas consultas. Se ejecuta sin error, y está mal.

Lee una consulta rota de arriba abajo, una cláusula a la vez: qué significa una fila después de FROM y de cada JOIN (el grano), qué filas descarta WHERE, qué colapsa GROUP BY y si cada filtro se aplica a filas o a grupos. Luego compara los conteos de filas con un número en el que confíes, y sigue a mano a un cliente, un pedido o un día a través de la consulta. Los fallos de aquí son los que más a menudo llegan a los informes reales, y detectarlos rápido es lo que evalúan los entrevistadores con “¿qué tiene de malo esta consulta?”

Niveles

  1. Ingresos por envío que crecieron tras un join

    de Laura Bennett, Directora de Finanzas

    debugging, fan out, grain, pre aggregate, cte

    Código Dificultad 3 de 5 Sin empezar

  2. Un gráfico diario atascado en un pedido

    de Kevin Brooks, Gerente de Operaciones

    debugging, group by, grain, timestamp, cast

    Código Dificultad 3 de 5 Sin empezar

  3. La lista de alto valor que salió demasiado larga

    de Megan Collins, Directora de Ventas

    debugging, where, having, aggregate, average order value

    Código Dificultad 3 de 5 Sin empezar

  4. Tasas de devolución que son todas números enteros

    de Jessica Turner, Gerente de Merchandising

    debugging, integer division, rates, round, left join

    Código Dificultad 4 de 5 Sin empezar

  5. A diciembre le faltan once pedidos

    de Brian Mitchell, Analista Financiero

    debugging, between, timestamp, date range, half open range

    Código Dificultad 4 de 5 Sin empezar

  6. El Black Friday en la zona horaria de la plataforma de anuncios

    de Jordan Reyes, Director de Marketing

    debugging, time zones, utc, timestamp, interval

    Código Dificultad 4 de 5 Sin empezar

  7. ¿Nadie se ha saltado nunca el sitio web?

    de Ashley Rivera, Responsable de Contenido Web

    debugging, not in, nulls, not exists, anti join

    Código Dificultad 4 de 5 Sin empezar

  8. Desafío final: el paquete de KPI heredado

    de Priya Shah, Directora de Datos

    debugging, fan out, between, grain, integer division, having

    Desafío final · 3 pasos Dificultad 5 de 5 Sin empezar

Elige qué puede ejecutarse en este sitio. Puedes cambiarlo cuando quieras desde "Configurar cookies", al pie de cada página.