Introducción
Este es otro post en donde simplemente me dedico a resolver ejercicios, nada de tutoriales. Sólo explico el problema y resuelvo todo lo que se tenga que hacer.
En este caso resolveremos ejercicios de consultas SQL usando el SGBD más popular y más querido: MySQL. Son consultas básicas, pues no haremos uniones ni otra cosa más que proyecciones o “selects”, repasando también un poco las expresiones regulares usando LIKE, agrupando con GROUP BY y utilizando algunas funciones de agregación como SUM, AVG, MIN, etcétera.
Nota: estas son soluciones propuestas por mí; algunas pueden ser erróneas o puede que existan mejores formas de resolver dichas consultas.
Tabla SQL
Para trabajar con estos ejercicios utilizaremos la siguiente tabla. Si quieres, puedes copiar todo el script en la CLI de MySQL para que la base de datos y la tabla sean creadas automáticamente.
Si quieres trabajar en una base de datos existente, entonces sólo copia la definición de la tabla y los datos. De todas maneras, dejaré un sqlfiddle al final para que se pueda probar en línea.
Consultas propuestas
Bloque 1
Consultas
- Listar los nombres de los usuarios
- Calcular el saldo máximo de los usuarios de sexo “Mujer”
- Listar nombre y teléfono de los usuarios con teléfono NOKIA, BLACKBERRY o SONY
- Contar los usuarios sin saldo o inactivos
- Listar el login de los usuarios con nivel 1, 2 o 3
- Listar los números de teléfono con saldo menor o igual a 300
- Calcular la suma de los saldos de los usuarios de la compañia telefónica NEXTEL
- Contar el número de usuarios por compañía telefónica
- Contar el número de usuarios por nivel
- Listar el login de los usuarios con nivel 2
- Mostrar el email de los usuarios que usan gmail
- Listar nombre y teléfono de los usuarios con teléfono LG, SAMSUNG o MOTOROLA
Soluciones
Bloque 2
Consultas
- Listar nombre y teléfono de los usuarios con teléfono que no sea de la marca LG o SAMSUNG
- Listar el login y teléfono de los usuarios con compañia telefónica IUSACELL
- Listar el login y teléfono de los usuarios con compañia telefónica que no sea TELCEL
- Calcular el saldo promedio de los usuarios que tienen teléfono marca NOKIA
- Listar el login y teléfono de los usuarios con compañia telefónica IUSACELL o AXEL
- Mostrar el email de los usuarios que no usan yahoo
- Listar el login y teléfono de los usuarios con compañia telefónica que no sea TELCEL o IUSACELL
- Listar el login y teléfono de los usuarios con compañia telefónica UNEFON
- Listar las diferentes marcas de celular en orden alfabético descendentemente
- Listar las diferentes compañias en orden alfabético aleatorio
- Listar el login de los usuarios con nivel 0 o 2
- Calcular el saldo promedio de los usuarios que tienen teléfono marca LG
Soluciones
Bloque 3
Consultas
- Listar el login de los usuarios con nivel 1 o 3
- Listar nombre y teléfono de los usuarios con teléfono que no sea de la marca BLACKBERRY
- Listar el login de los usuarios con nivel 3
- Listar el login de los usuarios con nivel 0
- Listar el login de los usuarios con nivel 1
- Contar el número de usuarios por sexo
- Listar el login y teléfono de los usuarios con compañia telefónica AT&T
- Listar las diferentes compañias en orden alfabético descendentemente
- Listar el logn de los usuarios inactivos
- Listar los números de teléfono sin saldo
- Calcular el saldo mínimo de los usuarios de sexo “Hombre”
- Listar los números de teléfono con saldo mayor a 300
Soluciones
Bloque 4
Consultas
- Contar el número de usuarios por marca de teléfono
- Listar nombre y teléfono de los usuarios con teléfono que no sea de la marca LG
- Listar las diferentes compañias en orden alfabético ascendentemente
- Calcular la suma de los saldos de los usuarios de la compañia telefónica UNEFON
- Mostrar el email de los usuarios que usan hotmail
- Listar los nombres de los usuarios sin saldo o inactivos
- Listar el login y teléfono de los usuarios con compañia telefónicaIUSACELL o TELCEL
- Listar las diferentes marcas de celular en orden alfabético ascendentemente
- Listar las diferentes marcas de celular en orden alfabético aleatorio
- Listar el login y teléfono de los usuarios con compañia telefónica IUSACELL o UNEFON
- Listar nombre y teléfono de los usuarios con teléfono que no sea de la marca MOTOROLA o NOKIA
- Calcular la suma de los saldos de los usuarios de la compañia telefónica TELCEL
Soluciones
Conclusión
Eso fue todo por hoy, son muchos ejercicios que, aunque repetitivos, ayudan a que aprendamos los comandos y sintaxis. Espero tener tiempo de publicar más ejercicios resueltos cuya complejidad sea mayor en cada ocasión.
Por cierto, aquí está el SQL Fiddle que prometí.
excelente listado de ejercicios y lo mejor con respuestas, asi se puede combrobar.
gracias estoy empezando BD AVANZADAS y tengo falencias con el uso del teclado del ordenador y sus operadores si asi se denominan en fin comprendi.. espero ver ejercicios con partidos de cualquier deporte
Gracias por compartir estos casos practicos esta geniales. Para un principiante que sea repetitvo esta chevre.
Gracias por el aprendizaje compartido, eres muy amable
Hola me preguntaba se tendrás ejercicios más avanzados donde tengas que usar order by, subconsultas, consultas en otras tablas
gracias
Hola. Por el momento no, pero le invito a suscribirse para estar al tanto de mis nuevos posts en caso de que haga uno sobre ello
Saludos
Estimado, excelente aporte!. Tendrás mas ejercicios con mayor complejidad?
Saludos!
Gracias por tus comentarios. Por el momento son todos los que tengo, tal vez en el futuro haga más; te invito a seguirme en mis redes sociales para estar al tanto de mis aportes.
Saludos
Pingback: Conexión Node.js y MySQL con Express - Parzibyte's blog
Pingback: CRUD de Laravel con MySQL: administrador de canciones - Parzibyte's blog
Pingback: Conectar GoLang y MySQL - Parzibyte's blog
Pingback: Obtener nombre de las tablas de base de datos en MySQL con PHP - Parzibyte's blog
Pingback: Más ejercicios resueltos de MySQL: Combinando funciones - Parzibyte's blog - El blog de Luis Cabrera