NULL en las cuentas
SQL · Unidad 4: NULL y expresiones
- Plan completo
- SQL
- 10 ejercicios
Hoy salen tres paquetes, para los clientes 2, 3 y 4, y cada uno lleva una etiqueta con el nombre y la ciudad. Mira la de en medio. No dice ni «Sofía».
Pegar un texto con NULL da NULL. El «no sé» se contagia a la cuenta entera, y no solo con ||: una suma, una resta o una multiplicación con un NULL también dan NULL.
SELECT nombre || ', ' || ciudad
AS etiqueta
FROM clientes
WHERE id IN (2, 3, 4);Devuelve
| etiqueta |
|---|
| Luis, Bogotá |
| NULL |
| Mateo, Quito |
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
Cada enero la tienda le suma un año a la edad de sus clientes. Luis y Camila viven en Bogotá. ¿Qué devuelve esta consulta?
2. Predice la salida
Aquí no hay tabla, solo dos cuentas sueltas. ¿Qué devuelve esta consulta?
3. Predice la salida
Alguien intenta rescatar a Sofía con un
NOT, pensando que si no es de Lima tendrá que salir. Pero negar un «no sé» da otro «no sé». ¿Qué devuelve esta consulta?4. Opción múltiple
La tienda reparte a sus 8 clientes en dos listas, una con
edad < 30y otra conedad >= 30. ¿Cuántas personas hay entre las dos?5. Completa el código
La ruta de reparto llega a Cusco, a Quito y a Bogotá. ¿A quién no le llega? Completa para que salgan todos los demás, también quien no tiene ciudad anotada.
6. Encuentra el bug
El plan de mayores es para quien tiene 50 años o más, y ahí solo está Valeria. A los otros siete clientes les toca el folleto de siempre. Esta lista debería traer a los siete y trae a seis. ¿Qué línea tiene el problema?
7. Ordena las líneas
¿Cuántos años le faltan a cada cliente para entrar al plan de mayores, que empieza a los 50? Ordena la consulta, empezando por quien está más cerca. Luis y Diego empatan, y entre ellos decide el nombre. Sobra una línea.
8. Opción múltiple
Esta lista de los dos clientes de Bogotá, del mayor al más joven, sale aquí con Luis arriba y Camila abajo. ¿Qué pasa si la corres en PostgreSQL?
9. Ordena las líneas
El directorio de la tienda va por ciudad y, dentro de cada ciudad, por nombre. Para que no lo encabece una fila sin ciudad, entra solo quien la tiene anotada. Ordena la consulta. Sobra una línea.
10. Escribe el código
Ahora sí. ¿Quién es el cliente más joven de la tienda? La consulta de abajo es la que contestaba Camila. Arréglala para que muestre el
nombrey laedad, en ese orden, del más joven entre quienes tienen la edad anotada.
Se abre en el navegador. Esta lección es del plan completo; la primera unidad de cada curso es gratis.