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
  1. Listar los nombres de los usuarios
  2. Calcular el saldo máximo de los usuarios de sexo “Mujer”
  3. Listar nombre y teléfono de los usuarios con teléfono NOKIA, BLACKBERRY o SONY
  4. Contar los usuarios sin saldo o inactivos
  5. Listar el login de los usuarios con nivel 1, 2 o 3
  6. Listar los números de teléfono con saldo menor o igual a 300
  7. Calcular la suma de los saldos de los usuarios de la compañia telefónica NEXTEL
  8. Contar el número de usuarios por compañía telefónica
  9. Contar el número de usuarios por nivel
  10. Listar el login de los usuarios con nivel 2
  11. Mostrar el email de los usuarios que usan gmail
  12. Listar nombre y teléfono de los usuarios con teléfono LG, SAMSUNG o MOTOROLA

Soluciones

Bloque 2

Consultas

  1. Listar nombre y teléfono de los usuarios con teléfono que no sea de la marca LG o SAMSUNG
  2. Listar el login y teléfono de los usuarios con compañia telefónica IUSACELL
  3. Listar el login y teléfono de los usuarios con compañia telefónica que no sea TELCEL
  4. Calcular el saldo promedio de los usuarios que tienen teléfono marca NOKIA
  5. Listar el login y teléfono de los usuarios con compañia telefónica IUSACELL o AXEL
  6. Mostrar el email de los usuarios que no usan yahoo
  7. Listar el login y teléfono de los usuarios con compañia telefónica que no sea TELCEL o IUSACELL
  8. Listar el login y teléfono de los usuarios con compañia telefónica UNEFON
  9. Listar las diferentes marcas de celular en orden alfabético descendentemente
  10. Listar las diferentes compañias en orden alfabético aleatorio
  11. Listar el login de los usuarios con nivel 0 o 2
  12. Calcular el saldo promedio de los usuarios que tienen teléfono marca LG

Soluciones

Bloque 3

Consultas

  1. Listar el login de los usuarios con nivel 1 o 3
  2. Listar nombre y teléfono de los usuarios con teléfono que no sea de la marca BLACKBERRY
  3. Listar el login de los usuarios con nivel 3
  4. Listar el login de los usuarios con nivel 0
  5. Listar el login de los usuarios con nivel 1
  6. Contar el número de usuarios por sexo
  7. Listar el login y teléfono de los usuarios con compañia telefónica AT&T
  8. Listar las diferentes compañias en orden alfabético descendentemente
  9. Listar el logn de los usuarios inactivos
  10. Listar los números de teléfono sin saldo
  11. Calcular el saldo mínimo de los usuarios de sexo “Hombre”
  12. Listar los números de teléfono con saldo mayor a 300

Soluciones

Bloque 4

Consultas

  1. Contar el número de usuarios por marca de teléfono
  2. Listar nombre y teléfono de los usuarios con teléfono que no sea de la marca LG
  3. Listar las diferentes compañias en orden alfabético ascendentemente
  4. Calcular la suma de los saldos de los usuarios de la compañia telefónica UNEFON
  5. Mostrar el email de los usuarios que usan hotmail
  6. Listar los nombres de los usuarios sin saldo o inactivos
  7. Listar el login y teléfono de los usuarios con compañia telefónicaIUSACELL o TELCEL
  8. Listar las diferentes marcas de celular en orden alfabético ascendentemente
  9. Listar las diferentes marcas de celular en orden alfabético aleatorio
  10. Listar el login y teléfono de los usuarios con compañia telefónica IUSACELL o UNEFON
  11. Listar nombre y teléfono de los usuarios con teléfono que no sea de la marca MOTOROLA o NOKIA
  12. 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í.

No te vayas sin seguirme en Twitter, Facebook y GitHub, así me motivas a escribir más posts.
Igualmente te invito a suscribirte en la parte superior derecha escribiendo tu correo en el formulario.
Si tienes dudas déjalas en un comentario


parzibyte

He trabajado por más de 4 años en el desarrollo de software con experiencia en Java, PHP, JavaScript, HTML, Node.JS, Python, Android y Go. También he trabajado con bases de datos SQL como MySQL y SQLite, así como con bases de datos NoSQL usando MongoDB. Soy bueno utilizando algunos frameworks y herramientas como Firebase, jQuery, AngularJS, VueJS, CodeIgniter, Laravel, BulmaCSS, Bootstrap y Electron. Otros términos que conozco son: Arduino, GraphQL, API's, REST, AJAX, PouchDB, CouchDB, Experiencia de usuario, buenas prácticas de programación, Webpack, NPM, Administración de servidores y programación de scripts La plataforma en la que tengo más experiencia es la web, pero en mis ratos libres realizo unos pequeños ejercicios en C# y C. Estoy aquí para ayudarte a resolver tus problemas de programación y depuración :-)

2 Comments

Más ejercicios resueltos de MySQL: Combinando funciones - Parzibyte's blog - El blog de Luis Cabrera · febrero 23, 2018 a las 8:50 pm

[…] Ejercicios resueltos de consultas con MySQL […]

Obtener nombre de las tablas de base de datos en MySQL con PHP - Parzibyte's blog · octubre 25, 2018 a las 11:53 am

[…] resolví combinando algunas consultas y utilizando el driver PDO de […]

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

A %d blogueros les gusta esto: