Saltar al contenido

CASE

SQL · Unidad 4: NULL y expresiones

La tienda regala el envío de lo que cuesta 100 o más. ¿Qué dice la etiqueta de cada producto, «Gratis» o «Se cobra»? Eso no está guardado en ninguna columna. Se decide fila por fila.

Se lee casi como se dice: CASE, cuando (WHEN) pasa esto, entonces (THEN) este valor, y si no (ELSE) este otro, END. La condición del WHEN es como las de un WHERE. Todo junto es una sola columna, con su alias.

SELECT nombre,
  CASE
    WHEN precio >= 100 THEN 'Gratis'
    ELSE 'Se cobra'
  END AS envio
FROM productos
WHERE categoria <> 'Accesorios';

Devuelve

nombreenvio
MonitorGratis
PortátilGratis
TabletaGratis
AudífonosSe cobra
ParlanteSe cobra

El resto de la explicación está en la lección, que es del plan completo.

Ejercicios de esta lección

Se hacen en la app, que los corrige al momento y explica por qué.

  1. 1. Predice la salida

    Los pedidos de 3 unidades o más salen en caja grande. Valeria, la clienta 5, tiene dos pedidos, el 5 de 1 unidad y el 8 de 3. ¿Qué devuelve esta consulta?

  2. 2. Completa el código

    El letrero de cada producto de Audio debe decir «Agotado» o «Disponible». Completa las dos palabras que faltan.

  3. 3. Ordena las líneas

    La lista del local nuevo dice qué recibe cada cliente, «Fiesta» si vive en Lima y «Cupón» si no. Ordena la consulta. Sobra una línea.

  4. 4. Predice la salida

    El aviso de cada producto depende de cuánto queda. Del Parlante hay 0, que también cumple stock <= 5. ¿Qué devuelve esta consulta?

  5. 5. Opción múltiple

    Alguien escribió los letreros de precio con >= y en este orden. La Tableta cuesta 320 y el Portátil 899. ¿Cuántos productos salen con «Caro»?

  6. 6. Ordena las líneas

    Arregla esos letreros sin tocar las condiciones. Ordena la consulta para que cada producto salga con el letrero que le toca. Sobra una línea.

  7. 7. Predice la salida

    Alguien reescribe la lista del local nuevo y cambia el ELSE por una segunda condición, convencido de que es lo mismo. Ana es de Lima, Luis de Bogotá y Sofía no tiene ciudad. ¿Qué devuelve esta consulta?

  8. 8. Predice la salida

    La secretaria prepara la lista de Ciencias con el resultado de cada estudiante. La nota de Julia, la estudiante 4, es NULL. ¿Qué devuelve esta consulta?

  9. 9. Encuentra el bug

    Alguien lo nota y agrega un caso para las notas que faltan. La lista corre sin error, y Julia sigue saliendo con «Reprobado» en vez de «Pendiente». ¿Qué línea tiene el problema?

  10. 10. Escribe el código

    Ahora la lista de Matemáticas, que es el curso 1. Hoy todos tienen nota ahí, así que la consulta de abajo ya da el resultado correcto. Pero se va a probar también con una nota que falta, y ahí tiene que seguir funcionando. Agrégale el caso que falta para que muestre el estudiante_id y su resultado, en ese orden. El resultado es Pendiente si no hay nota, Aprobado si es 6 o más y Reprobado si es menos.

Hacer esta lección

Se abre en el navegador. Esta lección es del plan completo; la primera unidad de cada curso es gratis.

Ver todas las lecciones →