S1 · Ejercicios de primeros pasos¶
Todos usan la base de datos del instituto (descripción). Escribe cada consulta, ejecútala y compara con el resultado esperado que aparece bajo cada enunciado antes de mirar la solución.
Ejercicio S1.1¶
Todas las asignaturas. Muestra todas las columnas de la tabla asignaturas.
Resultado esperado:
| id | nombre | horas | id_profesor |
|---|---|---|---|
| 1 | Programación | 230 | 1 |
| 2 | Bases de Datos | 160 | 2 |
| 3 | Entornos de Desarrollo | 100 | 3 |
| 4 | Lenguajes de Marcas | 100 | 3 |
| 5 | Sistemas Informáticos | 160 | 4 |
| 6 | Inglés Técnico | 60 | NULL |
6 filas
Solución modelo (bloqueada)
🔒 La solución completa está bloqueada. Esto es solo un ejemplo de cómo empieza:
SELECT * FROM asignaturas;
-- ... (resto de la solución bloqueado)Ejercicio S1.2¶
Nombre y ciudad. Muestra solo el nombre y la ciudad de todos los alumnos.
Resultado esperado:
| nombre | ciudad |
|---|---|
| Ana | Cádiz |
| Luis | Sevilla |
| Marta | Cádiz |
| Pablo | Jerez |
| Sara | Sevilla |
| Iván | Cádiz |
| … | … |
14 filas (se muestran 6)
Solución modelo (bloqueada)
🔒 La solución completa está bloqueada. Esto es solo un ejemplo de cómo empieza:
SELECT nombre, ciudad FROM alumnos;
-- ... (resto de la solución bloqueado)Ejercicio S1.3¶
Ciudades distintas. Muestra cada ciudad una sola vez, ordenadas alfabéticamente.
Resultado esperado:
| ciudad |
|---|
| Cádiz |
| Jerez |
| Málaga |
| Sevilla |
4 filas
Solución modelo (bloqueada)
🔒 La solución completa está bloqueada. Esto es solo un ejemplo de cómo empieza:
SELECT DISTINCT ciudad FROM alumnos ORDER BY ciudad;
-- ... (resto de la solución bloqueado)Ejercicio S1.4¶
De Sevilla. Nombre y apellido de los alumnos que viven en Sevilla.
Resultado esperado:
| nombre | apellido |
|---|---|
| Luis | Romero |
| Sara | Vega |
| Dani | Soto |
| Álex | Roca |
4 filas
Solución modelo (bloqueada)
🔒 La solución completa está bloqueada. Esto es solo un ejemplo de cómo empieza:
SELECT nombre, apellido FROM alumnos WHERE ciudad = 'Sevilla';
-- ... (resto de la solución bloqueado)Ejercicio S1.5¶
Nacidos en 2005. Nombre, apellido y fecha de nacimiento de los alumnos nacidos durante 2005.
Resultado esperado:
| nombre | apellido | nacimiento |
|---|---|---|
| Ana | Gil | 2005-03-14 |
| Marta | Díaz | 2005-07-21 |
| Sara | Vega | 2005-09-09 |
| Dani | Soto | 2005-04-01 |
| Irene | Lara | 2005-12-24 |
5 filas
Solución modelo (bloqueada)
🔒 La solución completa está bloqueada. Esto es solo un ejemplo de cómo empieza:
SELECT nombre, apellido, nacimiento FROM alumnos WHERE nacimiento BETWEEN '2005-01-01' AND '2005-12-31';
-- ... (resto de la solución bloqueado)Ejercicio S1.6¶
Apellidos por R o T. Nombre y apellido de los alumnos cuyo apellido empieza por R o por T.
Resultado esperado:
| nombre | apellido |
|---|---|
| Luis | Romero |
| Iván | Torres |
| Álex | Roca |
3 filas
Solución modelo (bloqueada)
🔒 La solución completa está bloqueada. Esto es solo un ejemplo de cómo empieza:
SELECT nombre, apellido FROM alumnos WHERE apellido LIKE 'R%' OR apellido LIKE 'T%';
-- ... (resto de la solución bloqueado)Ejercicio S1.7¶
Sin grupo. Los alumnos que todavía no están asignados a ningún grupo.
Resultado esperado:
| nombre | apellido |
|---|---|
| Irene | Lara |
1 fila
Solución modelo (bloqueada)
🔒 La solución completa está bloqueada. Esto es solo un ejemplo de cómo empieza:
SELECT nombre, apellido FROM alumnos WHERE id_grupo IS NULL;
-- ... (resto de la solución bloqueado)Ejercicio S1.8¶
Asignaturas largas. Nombre y horas de las asignaturas de más de 100 horas, de la que más horas tiene a la que menos (a igualdad de horas, por nombre).
Resultado esperado:
| nombre | horas |
|---|---|
| Programación | 230 |
| Bases de Datos | 160 |
| Sistemas Informáticos | 160 |
3 filas
Solución modelo (bloqueada)
🔒 La solución completa está bloqueada. Esto es solo un ejemplo de cómo empieza:
SELECT nombre, horas FROM asignaturas WHERE horas > 100 ORDER BY horas DESC, nombre;
-- ... (resto de la solución bloqueado)Ejercicio S1.9¶
Sin profesor. Las asignaturas que todavía no tienen profesor asignado.
Resultado esperado:
| nombre |
|---|
| Inglés Técnico |
1 fila
Solución modelo (bloqueada)
🔒 La solución completa está bloqueada. Esto es solo un ejemplo de cómo empieza:
SELECT nombre FROM asignaturas WHERE id_profesor IS NULL;
-- ... (resto de la solución bloqueado)Ejercicio S1.10¶
Los más jóvenes. Nombre, apellido y fecha de nacimiento de los tres alumnos más jóvenes.
Resultado esperado:
| nombre | apellido | nacimiento |
|---|---|---|
| Irene | Lara | 2005-12-24 |
| Sara | Vega | 2005-09-09 |
| Marta | Díaz | 2005-07-21 |
3 filas
Solución modelo (bloqueada)
🔒 La solución completa está bloqueada. Esto es solo un ejemplo de cómo empieza:
SELECT nombre, apellido, nacimiento FROM alumnos ORDER BY nacimiento DESC LIMIT 3;
-- ... (resto de la solución bloqueado)Ejercicio S1.11¶
Nombre completo. Una sola columna llamada nombre_completo (nombre, un espacio y apellido) de los alumnos de Cádiz o Jerez, ordenados por apellido. Usa IN.
Resultado esperado:
| nombre_completo |
|---|
| Raúl Campos |
| Marta Díaz |
| Ana Gil |
| Irene Lara |
| Pablo Núñez |
| Marcos Peña |
| … |
8 filas (se muestran 6)
Solución modelo (bloqueada)
🔒 La solución completa está bloqueada. Esto es solo un ejemplo de cómo empieza:
SELECT nombre || ' ' || apellido AS nombre_completo FROM alumnos WHERE ciudad IN ('Cádiz', 'Jerez') ORDER BY apellido;
-- ... (resto de la solución bloqueado)Ejercicio S1.12¶
Aprobados en segunda. Alumno (id_alumno) y nota de quienes aprobaron (nota >= 5) la asignatura 1 en la convocatoria 2.
Resultado esperado:
| id_alumno | nota |
|---|---|
| 1 | 5.5 |
| 4 | 7.0 |
2 filas
Solución modelo (bloqueada)
🔒 La solución completa está bloqueada. Esto es solo un ejemplo de cómo empieza:
SELECT id_alumno, nota FROM notas WHERE id_asignatura = 1 AND convocatoria = 2 AND nota >= 5;
-- ... (resto de la solución bloqueado)Ejercicio S1.13¶
Primero y nombre corto. Nombre y apellido de los alumnos de primer curso (grupos 1 y 2) cuyo nombre tiene exactamente 4 letras.
Resultado esperado:
| nombre | apellido |
|---|---|
| Luis | Romero |
| Sara | Vega |
| Iván | Torres |
| Dani | Soto |
| Lola | Ortiz |
| Álex | Roca |
6 filas
Solución modelo (bloqueada)
🔒 La solución completa está bloqueada. Esto es solo un ejemplo de cómo empieza:
SELECT nombre, apellido FROM alumnos WHERE id_grupo IN (1, 2) AND LENGTH(nombre) = 4;
-- ... (resto de la solución bloqueado)Ejercicio S1.14¶
⭐ Reto: nacidos en verano. Nombre, apellido y mes de nacimiento de los alumnos nacidos en junio, julio o agosto, ordenados por mes. (Pista: strftime('%m', nacimiento) da el mes como texto de dos cifras.)
Resultado esperado:
| nombre | apellido | mes |
|---|---|---|
| Raúl | Campos | 06 |
| Marta | Díaz | 07 |
| Lola | Ortiz | 08 |
3 filas
Solución modelo (bloqueada)
🔒 La solución completa está bloqueada. Esto es solo un ejemplo de cómo empieza:
SELECT nombre, apellido, strftime('%m', nacimiento) AS mes FROM alumnos WHERE strftime('%m', nacimiento) IN ('06', '07', '08') ORDER BY mes;
-- ... (resto de la solución bloqueado)