Examen de práctica · 12 preguntas · sin instalar nada

Examen de práctica de SQL con respuestas

Doce preguntas típicas de examen, con consola en la página. Se corrige ejecutando tu consulta de verdad, y cada respuesta explica la trampa.

Dos tablas: clientes y pedidos. Hay correos que faltan y un pedido sin cliente: las preguntas de examen viven de esos casos. Intenta cada una sin pista: «Ver solución» está para comprobar, no para empezar.

Si te atoras en un tema, las lecciones de SQL desde cero lo explican desde el principio, y la chuleta lo resume en una página.

Las tablas

clientes

idnombreciudademail
1Ana MoraBahía Lumenana@correo.test
2Mario VidalPuerto SalNULL
3Marta RíosBahía Lumenmarta@correo.test
4Luis PeñaSan CiroNULL
5Sofía CanoPuerto Salsofia@correo.test
6Miguel SotoSan Ciromiguel@correo.test
7Carla DíazBahía LumenNULL

pedidos

idcliente_idfechatotalestado
112024-02-28 10:00120pagado
212024-03-01 09:3080pagado
322024-03-15 18:20250pagado
432024-03-31 21:4560cancelado
532024-04-02 11:00300pagado
652024-03-10 12:1040pagado
752024-05-06 16:00500pagado
822024-01-20 08:1590cancelado
9NULL2024-03-20 13:0075pagado
1032024-05-11 19:30110pagado

Puedes escribir aquí mismo: cada ejercicio se ejecuta con DuckDB en tu navegador, sin instalar nada. Con el teclado: Ctrl + Enter.

1. COUNT y NULL

¿Cuántos clientes tienen correo? Devuelve un solo número.

2. Buscar lo que falta

El nombre de los clientes sin correo.

3. Sin repetidos

¿En cuántas ciudades distintas hay clientes? Un solo número.

4. Empieza por

El nombre de los clientes cuyo nombre empieza por M.

5. Todo marzo

El id y la fecha de los pedidos de marzo de 2024. La consulta escrita se deja uno: encuéntralo.

6. Total por cliente

El cliente_id y la suma de sus pedidos, sin el pedido que no tiene cliente.

7. Filtrar el total

El cliente_id y la suma de sus pedidos, sólo si suma 400 o más. La consulta escrita da error.

8. Los tres mayores

El id y el total de los tres pedidos más altos, del mayor al menor.

9. Unir tablas

El nombre del cliente y el total de los pedidos con estado pagado.

10. Clientes sin pedidos

El nombre de los clientes que nunca han pedido, usando LEFT JOIN.

11. La trampa de NOT IN

Lo mismo que antes, ahora con NOT IN. La consulta escrita devuelve cero filas: arréglala sin cambiar a JOIN.

12. Por encima de la media

El id y el total de los pedidos por encima de la media.