COMPARTE ESTE ARTÍCULO

¿Te gustaría repasar algunas sentencias de SQL de forma amena para entender mejor cómo funcionan las tablas, las uniones y ciertos cálculos dentro de una base de datos? ¡Sigue leyendo! A continuación, encontrarás un pequeño repaso –en forma de historias y ejemplos– que te ayudará a practicar. (Pss… Incluye de manera camuflada varias ideas que, sin duda, te servirán cuando trabajes con bases de datos similares).


1. Conociendo a Nuestros Alumnos y sus Localidades

Imagina que tienes un listado de estudiantes y quieres saber en qué localidad vive cada uno. Una posible forma de ligar estos datos es combinando la tabla de alumnos con la de localidades usando la clave común:

SELECT a.DNI,
       a.Nombre,
       l.NomLocalidad
FROM   alumnos AS a
       JOIN localidades AS l ON a.Localidad = l.CodLocalidad;

Idea: Esto te muestra los estudiantes junto con el nombre del lugar donde residen.


2. Localidades Sin Estudiantes

¿Te has preguntado qué lugares, en tu base de datos, aún no tienen ningún habitante (o alumno) asociado?
Para averiguarlo, podrías buscar aquellas localidades cuyos códigos no aparezcan en la tabla de alumnos:

SELECT l.CodLocalidad,
       l.NomLocalidad
FROM   localidades AS l
WHERE  l.CodLocalidad NOT IN (
         SELECT a.Localidad FROM alumnos AS a
       );

Idea: Con esta técnica, identificas lugares sin presencia de estudiantes.


3. Cuántos Alumnos Hay por Nivel de Estudios

Supongamos que tienes distintos niveles de estudios (Secundaria, Bachillerato, Universitario, etc.). Para contar cuántos alumnos hay en cada nivel, podrías usar:

SELECT a.NivelEstudios,
       COUNT(*) AS CantAlumnos
FROM   alumnos AS a
GROUP BY a.NivelEstudios;

Idea: Así, sabrás cuántos estudiantes corresponden a cada nivel académico.


4. El Nivel de Estudio con Más Alumnos

¿Quieres resaltar solo aquel nivel de estudios que concentra la mayor cantidad de estudiantes? Podrías aplicar algo como esto:

SELECT TOP 1 a.NivelEstudios,
             COUNT(*) AS CantAlumnos
FROM   alumnos AS a
GROUP BY a.NivelEstudios
ORDER BY CantAlumnos DESC;

Idea: De un vistazo, localizas el nivel de estudios con más presencia de alumnos.


5. Niveles de Estudio con Más de 1 Alumno

Ahora, si te interesara filtrar únicamente los niveles que superan un cierto número de matriculados (en este caso, mayor a 1):

SELECT a.NivelEstudios,
       COUNT(*) AS CantAlumnos
FROM   alumnos AS a
GROUP BY a.NivelEstudios
HAVING COUNT(*) > 1;

Idea: De esa forma, descartas niveles con 1 o 0 estudiantes.


6. Alumnos Solo de los Niveles 11 y 22

Tal vez hay niveles que te interesan específicamente, por ejemplo los códigos 11 y 22.
Filtrarlos es tan sencillo como:

SELECT a.NivelEstudios,
       COUNT(*) AS CantAlumnos
FROM   alumnos AS a
WHERE  a.NivelEstudios IN ('11','22')
GROUP BY a.NivelEstudios;

Idea: A veces, solo necesitas centrar la atención en ciertos códigos concretos.


7. Alumnos de los Niveles 11 y 22 que Tengan Más de 1 Alumno

Si, además de elegir los niveles 11 y 22, quieres quedarte únicamente con los que superen un cierto mínimo de personas (por ejemplo, 1):

SELECT a.NivelEstudios,
       COUNT(*) AS CantAlumnos
FROM   alumnos AS a
WHERE  a.NivelEstudios IN ('11','22')
GROUP BY a.NivelEstudios
HAVING COUNT(*) > 1;

Idea: Combinas un WHERE para restringir niveles y un HAVING para establecer el mínimo requerido.


8. Localidades con Más de 2 Alumnos Cuyos Nombres Empiecen por T, S o B

¿Te planteas buscar lugares con determinada inicial y cierto número de población estudiantil? Podrías hacerlo así:

SELECT l.NomLocalidad,
       COUNT(a.DNI) AS NumAlumnos
FROM   alumnos AS a
       JOIN localidades AS l ON a.Localidad = l.CodLocalidad
WHERE  l.NomLocalidad LIKE 'T%' 
       OR l.NomLocalidad LIKE 'S%' 
       OR l.NomLocalidad LIKE 'B%'
GROUP BY l.NomLocalidad
HAVING COUNT(a.DNI) > 2;

Idea: Ideal para filtrar por la primera letra de la localidad y contar su alumnado.


9. Alumnos Matriculados en un Módulo con Código X o Y (Incluyendo Notas)

Para cierto(s) módulo(s), quizá quieras ver quién está apuntado y con qué calificación:

SELECT ma.dni,
       a.Nombre,
       ma.notas
FROM   ModulosAlumnos AS ma
       JOIN alumnos AS a ON ma.dni = a.DNI
WHERE  ma.modulo IN (X, Y);

Idea: Esto sirve para listar a los alumnos inscritos en dos módulos específicos.


10. Igual al Anterior pero Solo los Aprobados

Si consideramos que la nota de aprobación es mayor o igual a 5:

SELECT ma.dni,
       a.Nombre,
       ma.notas
FROM   ModulosAlumnos AS ma
       JOIN alumnos AS a ON ma.dni = a.DNI
WHERE  ma.modulo IN (X, Y)
  AND  ma.notas >= 5;

Idea: Así filtras exclusivamente a quienes han logrado o superado la nota de corte.


11. DNI, Nombre y Nota Media de Cada Alumno en Todos sus Módulos

Para calcular el promedio de notas por alumno, podríamos agrupar por DNI y hacer la media:

SELECT a.DNI,
       a.Nombre,
       AVG(ma.notas) AS NotaMedia
FROM   ModulosAlumnos AS ma
       JOIN alumnos AS a ON ma.dni = a.DNI
GROUP BY a.DNI, a.Nombre;

Idea: Obtienes el promedio de calificaciones para cada estudiante.


12. Promedio pero Solo de los Módulos X e Y

Si deseas filtrar la media para módulos concretos:

SELECT a.DNI,
       a.Nombre,
       AVG(ma.notas) AS NotaMedia
FROM   ModulosAlumnos AS ma
       JOIN alumnos AS a ON ma.dni = a.DNI
WHERE  ma.modulo IN (X, Y)
GROUP BY a.DNI, a.Nombre;

Idea: Útil para centrarse en determinados módulos.


13. Nota Media de Cada Alumno en Sus Módulos del Curso Pasado

Imagina que guardaste matrículas por año (ej. 2021, 2022, etc.). En muchas bases de datos, podrías filtrar por la fecha de matrícula:

SELECT a.DNI,
       a.Nombre,
       AVG(ma.notas) AS NotaMedia
FROM   ModulosAlumnos AS ma
       JOIN alumnos AS a ON ma.dni = a.DNI
WHERE  YEAR(ma.fechaMatricula) = 2021  -- ejemplo de "curso pasado"
GROUP BY a.DNI, a.Nombre;

Idea: Ajusta el año según qué “curso” consideres “pasado”.


14. Nota Media (Solo Módulos X e Y) Igual o Mayor a 5

Para alumnos que tengan en promedio igual o superior a 5, podrías usar HAVING:

SELECT a.DNI,
       a.Nombre,
       AVG(ma.notas) AS NotaMedia
FROM   ModulosAlumnos AS ma
       JOIN alumnos AS a ON ma.dni = a.DNI
WHERE  ma.modulo IN (X, Y)
GROUP BY a.DNI, a.Nombre
HAVING AVG(ma.notas) >= 5;

Idea: Combinas filtro de módulos y mínima nota media aprobatoria.


15. Módulos Sin Ningún Alumno Matriculado

Si deseas detectar aquellos módulos sin estudiantes, podrías hacer:

SELECT m.codmodulo,
       m.NomModulo
FROM   modulos AS m
WHERE  m.codmodulo NOT IN (
         SELECT ma.modulo FROM ModulosAlumnos AS ma
       );

Idea: Identifica asignaturas o módulos en los que aún no se ha matriculado nadie.


(Más Retos y Prácticas con Subconsultas)

A veces, para consultas más avanzadas, necesitarás ideas como:

  1. Calcular la nota media de un alumno (con DNI específico) y compararla con la de otros.
  2. Mostrar el promedio de cada alumno y filtrar aquellos que superen la media de un compañero concreto.
  3. Comparar la nota media de distintos módulos con la de un módulo específico, etc.

Aquí te dejo, muy por encima, algunas instrucciones que podrían inspirarte para practicar subconsultas. Úsalas como guía de estudio:

  • Nota media de un alumno con un DNI concreto.
  • Lista de alumnos con su promedio de notas.
  • Solo aquellos que tienen una media mayor que la media de un alumno específico.
  • Comparar la media de un módulo con la de otro módulo y así sucesivamente.
  • Buscar el módulo con más alumnos y filtrar solo a los matriculados allí.
  • Hallar el alumno con menos asignaturas y listar sus módulos.
  • Consultar a qué alumnos no les supera ninguna nota por encima de 5.
  • Averiguar quién se matriculó en todos los módulos de la escuela.
  • O descubrir a los estudiantes que han cursado más módulos que la media de módulos por alumno.
  • Incluso, ver en qué asignaturas todas las notas son mayores que cierta nota concreta en el módulo de “Fol”.

Existen multitud de técnicas y cada pregunta te reta a pensar en WHERE, GROUP BY, HAVING, uniones entre tablas y subconsultas. ¡Eso te hará dominar la lógica de consultas y tener un mejor entendimiento de la base de datos!


Conclusión:
Este conjunto de “escenarios” (cada uno con sus pequeñas sentencias) funciona como un repaso global para comprobar cómo manejar datos relacionados con estudiantes, módulos, calificaciones y localidades. Cada consulta te servirá como base para cuestiones reales: desde listar información básica hasta calcular promedios, filtrar aprobados o buscar niveles de estudio con gran asistencia.

¡Sigue practicando, combinando y adaptando cada idea a tus necesidades! Recuerda que la clave está en comprender el porqué de cada parte de la consulta para que puedas reutilizar esas “fórmulas” en cualquier otro proyecto de bases de datos.

Tip Extra: Para un estudio más profundo, prueba a cambiar las condiciones (los “=”, “>”, “<”, “LIKE”, etc.) y date cuenta de cómo se modifica la salida. Esto te ayudará a entender mejor el motor SQL y a ser más ágil en tus desarrollos.


Maria Del Carmen Hernandez Herrera profile picture
Maria Del Carmen Hernandez Herrera
Google star 1Google star 2Google star 3Google star 4Google star 5
Contacte con Alejandro por recomendación de una compañera de trabajo a la cuál ayudó mucho en la preparación de unos exámenes muy complicados . La física y química para mi hija en este curso estaba siendo muy complicada, tanto es así ,que suspendió la primera evaluación y ella no había suspendido nunca, desde que acude a sus clases hay un antes y un después ...... Alejandro con su manera de explicar ha conseguido que las entienda , que pueda desarrollar los problemas que tenga confianza en sí misma....tanto es así que ha aprobado todos los exámenes....Paula está súper contenta y yo más!!!! Siempre que tengo alguna duda o que necesito modificar un horario responden super pronto y buscan solución motivo por el cuál recomiendo al 100% está academia. Muchas gracias por su ayuda.
Arianna Del Campo Martín profile picture
Arianna Del Campo Martín
Google star 1Google star 2Google star 3Google star 4Google star 5
Yo soy estudiante universitaria, muy finalista y que llegó a la academia con prácticamente cero base… Finalmente aprobé mi examen! Aquí de una manera diferente a lo que convencionalmente se espera de los profes, me enseñaron, muy cercanamente lo que me proporcionó confianza para no callarme las dudas y preguntar todo el tiempo. Me sorprendió que el profe que me dio clases en particular era como una enciclopedia andante, sin necesidad de mirar los libros me decía fórmulas de memoria que son difíciles de entender hasta con ellas delante. Recomiendo 100%
Ariana García Esquivel profile picture
Ariana García Esquivel
Google star 1Google star 2Google star 3Google star 4Google star 5
No he dudado ni por un segundo que haber asistido a las clases con Alejandro es lo mejor que me ha pasado… No solamente te apoya académicamente, sino que apoya al alumno a pesar de sus dificultades, y a mí me ha estado ayudando muchísimo y en mis peores momentos. Mil gracias por tus consejos, por siempre darme ánimos, por ser tan simpático que alegras las clases aburridas y por ser un profe tan bueno, son de estas personas que nunca olvidas.❤️👏🏻 También he de decir que Raúl, el otro profesor que se encuentra en la academia…es una persona que se preocupa por el alumno a que haga las cosas bien, con tranquilidad, está siempre pendiente a ti, tiene mucha paciencia, dedica a dar sus clases lo más dinámico posible, tiene mucha amabilidad con las personas, en definitiva… tengo a los dos mejores profesores del mundo, se os quiere mucho💓✨.
Another Weasley. profile picture
Another Weasley.
Google star 1Google star 2Google star 3Google star 4Google star 5
He tenido muchos profes, y muchos particulares, pero como Alejandro ninguno, de verdad, me hace pensar que de verdad no soy tan mala en lo mío 🥺 me apoya muchísimo y me ayuda en todo lo que pueda con mi carrera, es un profesor 10 y una persona sobretodo 10000 Gracias Ale por preocuparte por tus alumnos, por intentar que estén motivados, que las clases sean entretenidas, y lo bien y fácil que explicas ! Para mi, LOS MEJORES 💖 -alba
yarel febles profile picture
yarel febles
Google star 1Google star 2Google star 3Google star 4Google star 5
He entrado a la carrera de enfermería gracias a Alejandro, sin duda estoy súper contento con mi paso por aquí :)
Ana Carina Benta profile picture
Ana Carina Benta
Google star 1Google star 2Google star 3Google star 4Google star 5
Gracias por el ambiente familiar Gracias por la paciencia Gracias por la enseñanza Gracias por el apoyo Gracias por la Motivación!! Simplesmente Gracias!! Recomendable 1000%
Yanet Palacio valdes profile picture
Yanet Palacio valdes
Google star 1Google star 2Google star 3Google star 4Google star 5
Desde hace un tiempo mi hijo asiste a la academia, pensabamos no sacaba la eso y hoy con orgullo se gradúa de 4to de la eso,muy agradecida por los profesores,sobre todo su profe Alejando persona entrañable,justo, para el todo nuestro agradecimiento..⭐⭐⭐👌👌
Mabett Duque profile picture
Mabett Duque
Google star 1Google star 2Google star 3Google star 4Google star 5
¡De lo bueno lo mejor, y de lo mejor lo superior!

¿QUÉ TE HA PARECIDO EL ARTÍCULO? Danos tu opinión al final de la página.
Deja tu comentario y ayúdanos a crecer.


¡SÍGUENOS EN TUS REDES FAVORITAS!
AYUDANOS A CRECER Y QUE LLEGUEMOS A TODAS LAS PERSONAS QUE NOS NECESITANA. SÍGUENOS EN TUS REDES.
Entra AQUÍ y elíge donde seguirnos. 

 

 



VIDEO FINALIZADO - HAZ CLIC PARA REINICIAR
0:00 0:00
LISTA
VEL
Academia Sanroque Izquierda
Academia Sanroque Derecha
🎬 Reproduciendo lista en modo aleatorio· Ver lista completa en YouTube ↗
ACADEMIA SANROQUE


VIDEO FINALIZADO - HAZ CLIC PARA REINICIAR
0:00 0:00
LISTA
VEL
Academia Sanroque Izquierda
Academia Sanroque Derecha
🎬 Reproduciendo lista en modo aleatorio· Ver lista completa en YouTube ↗
ACADEMIA SANROQUE


NUESTRAS ÚLTIMAS PUBLICACIONES


Contenido restringido

Acceso de usuarios existentes
   
Registro de un nuevo usuario
*Campo necesario

Categories:

Tags:

Comments are closed

Estado de acceso
ESTADO DE ACCESO
TRADUCTORES
Calendario de publicaciones
octubre 2026
L M X J V S D
 1234
567891011
12131415161718
19202122232425
262728293031  
COMPARTENOS
Estadísticas del sitio
  • 173.539 visitas
HTML Snippets Powered By : XYZScripts.com
Insert math as
Block
Inline
Additional settings
Formula color
Text color
#333333
Type math using LaTeX
Preview
\({}\)
Nothing to preview
Insert

Contenido Protegido

error: CONTENIDO PROTEGIDO