CASE
SQL · Unidad 4: NULL y expresiones
- Plan completo
- SQL
- 10 ejercicios
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
| nombre | envio |
|---|---|
| Monitor | Gratis |
| Portátil | Gratis |
| Tableta | Gratis |
| Audífonos | Se cobra |
| Parlante | Se 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. 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. Completa el código
El letrero de cada producto de Audio debe decir «Agotado» o «Disponible». Completa las dos palabras que faltan.
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. 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. 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. 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. Predice la salida
Alguien reescribe la lista del local nuevo y cambia el
ELSEpor 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. 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. 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. 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_idy su resultado, en ese orden. El resultado esPendientesi no hay nota,Aprobadosi es 6 o más yReprobadosi es menos.
Se abre en el navegador. Esta lección es del plan completo; la primera unidad de cada curso es gratis.