Para docentes · guía de clase
Un plan de 50 minutos con tres niveles. Sin soluciones: ni culpables ni valores de respuesta.
Introducción · T1·01
SELECT WHERE rangos de fechas ORDER BY
Acotar una ventana de tiempo parece fácil con BETWEEN, pero BETWEEN incluye los dos extremos, y con fechas y horas eso casi nunca es lo que se quiere. Con >= y < se controla exactamente qué borde entra. Ver la página de esta trampa →
La consulta final que acota la ventana de tiempo del caso y responde las tres preguntas del expediente, más una frase que explique qué cambió respecto a su primer intento.
Intermedio · T2·03
anti-join NOT EXISTS LEFT JOIN … IS NULL la trampa de NOT IN con NULL
Un NOT IN contra una lista que contiene un solo NULL descarta la consulta entera sin avisar: no falla, simplemente no devuelve nada, y eso da tranquilidad falsa. Ver la página de esta trampa →
La consulta que encuentra la única ejecución sin asiento contable, más una frase que explique por qué su primer intento con NOT IN devolvía cero filas (o todas) en vez de la que faltaba.
Avanzado · T3·01
cardinalidad fan-out agregar antes de unir COUNT DISTINCT
Agregar después de un JOIN uno-a-muchos duplica cada fila del lado «uno» tantas veces como filas tenga enfrente, y cualquier SUM posterior sale inflado. Ver la página de esta trampa →
La consulta que calcula la comisión real del trimestre sin la duplicación, más una frase que explique cómo detectaron que el informe original estaba inflado.
Las soluciones para el profesor se envían aparte, a quien pide la licencia.
El primer caso se juega gratis en el navegador, sin cuenta.
Jugar el caso 1 gratis →