SOLUCION DE LA PARTE TRES. 1. Total de estudiantes nacidos en los años 70. select COUNT(*) AS estudiantes_70s FROM estudiante WHERE SUBSTR(fechanacimiento, 1, 4) BETWEEN '1970' AND '1979'; +-----------------+ | estudiantes_70s | +-----------------+ | 3 | +-----------------+ 2. Consultar a los estudiantes que tienen entre 16 y 20 años. //aqui lo que hice fue calcular en base a las fechas de matricula cual era la fecha actual y en eso hice un substr con el cual hacer la busqueda. SELECT nombre, fechanacimiento FROM estudiante WHERE SUBSTR(fechanacimiento, 1, 4) BETWEEN '1991' AND '1995'; +------------------+-----------------+ | nombre | fechanacimiento | +------------------+-----------------+ | Bladimir Palacio | 1994-09-03 | | Apolonia Serrano | 1994-03-09 | | Federico Serrano | 1991-06-10 | +------------------+-----------------+ 3. Consultar los nombres de los estudiantes que son mayores de 25 años. //mismo razonamiento que el anterior solo que aqui uso toda la fecha de nacimiento SELECT nombre, fechanacimiento FROM estudiante WHERE fechanacimiento < '1986-01-01'; +-------------+-----------------+ | nombre | fechanacimiento | +-------------+-----------------+ | maria | 1966-05-13 | | juana | 1973-01-22 | | carlos | 1976-03-05 | | Maria Parra | 1976-08-15 | +-------------+-----------------+ 4. Calcular la edad de cada estudiante. SELECT nombre, (2011 - CAST(SUBSTR(fechanacimiento, 1, 4) AS UNSIGNED)) AS edad FROM estudiante; +------------------+------+ | nombre | edad | +------------------+------+ | maria | 45 | | juana | 38 | | carlos | 35 | | Maria Parra | 35 | | Pablo Neruda | 21 | | Bladimir Palacio | 17 | | Apolonia Serrano | 17 | | Federico Serrano | 20 | +------------------+------+ 6. Consultar las materias que tienen precio mayor a 300000 y sacar un mensaje que diga si pasa de 300000 cara de lo contrario económica. SELECT descripcion, valor, CASE WHEN valor > 300000 THEN 'cara' ELSE 'economica' END AS mensaje FROM materia; +--------------+-----------+-----------+ | descripcion | valor | mensaje | +--------------+-----------+-----------+ | software I | 320000.00 | cara | | software II | 328000.00 | cara | | software III | 400000.00 | cara | | matematicas | 300000.00 | economica | | ingles | 300000.00 | economica | +--------------+-----------+-----------+ 7. Agregar el campo edad a la tabla estudiante, insertar las edades respectivas y si el estudiante pasa de 30 años sacar un mensaje que diga hombre mayor, de lo contrario joven en desarrollo. ALTER TABLE estudiante ADD COLUMN edad int; describe estudiante; +-----------------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-----------------+--------------+------+-----+---------+-------+ | carnet | int(11) | NO | PRI | NULL | | | nombre | varchar(100) | NO | | NULL | | | fechamatricula | date | YES | | NULL | | | fechanacimiento | date | YES | | NULL | | | sexo | char(1) | YES | | NULL | | | edad | int(11) | YES | | NULL | | +-----------------+--------------+------+-----+---------+-------+ MariaDB [Fechas]> UPDATE estudiante -> SET edad = 2011 - CAST(SUBSTR(fechanacimiento, 1, 4) AS UNSIGNED); Query OK, 8 rows affected (0,004 sec) Rows matched: 8 Changed: 8 Warnings: 0 MariaDB [Fechas]> select * from estudiante; +--------+------------------+----------------+-----------------+------+------+ | carnet | nombre | fechamatricula | fechanacimiento | sexo | edad | +--------+------------------+----------------+-----------------+------+------+ | 1 | maria | 2010-01-15 | 1966-05-13 | f | 45 | | 2 | juana | 2010-06-08 | 1973-01-22 | f | 38 | | 3 | carlos | 2010-06-28 | 1976-03-05 | m | 35 | | 4 | Maria Parra | 2010-06-11 | 1976-08-15 | f | 35 | | 5 | Pablo Neruda | 2011-02-13 | 1990-08-25 | m | 21 | | 6 | Bladimir Palacio | 2011-02-04 | 1994-09-03 | m | 17 | | 7 | Apolonia Serrano | 2011-02-28 | 1994-03-09 | f | 17 | | 8 | Federico Serrano | 2011-03-05 | 1991-06-10 | m | 20 | +--------+------------------+----------------+-----------------+------+------+ //por ultimo el mensaje de hombre mayor o joven. SELECT nombre, edad, CASE WHEN edad > 30 THEN 'hombre mayor' ELSE 'joven en desarrollo' END AS mensaje FROM estudiante; +------------------+------+---------------------+ | nombre | edad | mensaje | +------------------+------+---------------------+ | maria | 45 | hombre mayor | | juana | 38 | hombre mayor | | carlos | 35 | hombre mayor | | Maria Parra | 35 | hombre mayor | | Pablo Neruda | 21 | joven en desarrollo | | Bladimir Palacio | 17 | joven en desarrollo | | Apolonia Serrano | 17 | joven en desarrollo | | Federico Serrano | 20 | joven en desarrollo | +------------------+------+---------------------+ 8.Consultar las materias que tienen precio mayor a 200000 y menor igual a 300000, y sacar un mensaje que diga materia economica si esta entre 200000 y 300000 de lo contrario cara. SELECT descripcion, valor, CASE WHEN valor > 200000 AND valor <= 300000 THEN 'materia economica' ELSE 'cara' END AS mensaje FROM materia; +--------------+-----------+-------------------+ | descripcion | valor | mensaje | +--------------+-----------+-------------------+ | software I | 320000.00 | cara | | software II | 328000.00 | cara | | software III | 400000.00 | cara | | matematicas | 300000.00 | materia economica | | ingles | 300000.00 | materia economica | +--------------+-----------+-------------------+ ////Esta parte fue lo primero ya empiezo con lo que aparece abajo en el documento, profe la proxima organice eso en una sola asi es mal facil. - cuantas mujeres tiene su nombre terminado en z SELECT COUNT(*) AS total_mujeres_nombre_z FROM Repazo2 WHERE sexo = 'mujer' AND nombre LIKE '%z'; +------------------------+ | total_mujeres_nombre_z | +------------------------+ | 4 | +------------------------+ - total de personas nacidas en los años 70's se; select COUNT(*) AS estudiantes_70s FROM Repazo2 WHERE SUBSTR(fechanacimiento, 1, 4) BETWEEN '1970' AND '1979'; +-----------------+ | estudiantes_70s | +-----------------+ | 4 | +-----------------+ - listar las personas con edad entre 25 y 30 años SELECT nombre, fechanacimiento, YEAR(CURDATE()) - CAST(SUBSTR(fechanacimiento,1,4) AS UNSIGNED) AS edad FROM Repazo2 WHERE (YEAR(CURDATE()) - CAST(SUBSTR(fechanacimiento,1,4) AS UNSIGNED)) BETWEEN 25 AND 30; //usando la fecha actual ninguno asi que usare la ultima fecha mas reciente dentro de las matriculas de los estudiantes como fuente SELECT nombre, fechanacimiento, (2011 - CAST(SUBSTR(fechanacimiento,1,4) AS UNSIGNED)) AS edad FROM Repazo2 WHERE (2011 - CAST(SUBSTR(fechanacimiento,1,4) AS UNSIGNED)) BETWEEN 25 AND 30; +-------------------+-----------------+------+ | nombre | fechanacimiento | edad | +-------------------+-----------------+------+ | andrea gutierrez | 1985-04-12 | 26 | | sandra henao | 1982-11-25 | 29 | | mario gomez | 1982-05-29 | 29 | | veronica gonzalez | 1982-03-30 | 29 | +-------------------+-----------------+------+ - cuantos hijos existen en el total de datos SELECT SUM(nrohijos) AS total_hijos FROM Repazo2; +-------------+ | total_hijos | +-------------+ | 22 | +-------------+ - agrupar por numero de hijos SELECT nrohijos, COUNT(*) AS total_personas FROM Repazo2 GROUP BY nrohijos; | nrohijos | total_personas | +----------+----------------+ | 1 | 4 | | 2 | 4 | | 3 | 2 | | 4 | 1 | +----------+----------------+ - cuantas personas tiene el nombre carlos SELECT COUNT(*) AS total_carlos FROM Repazo2 WHERE nombre LIKE 'carlos%'; +--------------+ | total_carlos | +--------------+ | 2 | +--------------+ - total de mujeres menores o = de 22 años //uso 2011 como fecha actual de alli saco 1989 sino no obtendria ninguna y ni asi SELECT COUNT(*) AS total_mujeres_menores_22 FROM Repazo2 WHERE sexo = 'mujer' AND SUBSTR(fechanacimiento, 1, 4) >= '1989'; +--------------------------+ | total_mujeres_menores_22 | +--------------------------+ | 0 | +--------------------------+ - total de hombre mayores de 30 años que tengan mas de 1 hijo SELECT COUNT(*) AS total_hombres_mayores_30_mas1hijo FROM Repazo2 WHERE sexo = 'hombre' AND SUBSTR(fechanacimiento,1,4) <= '1980' AND nrohijos > 1; +-----------------------------------+ | total_hombres_mayores_30_mas1hijo | +-----------------------------------+ | 2 | +-----------------------------------+ - cuantas mujeres mayores de 25 años edad tiene entre 1 y 3 hijos SELECT COUNT(*) AS total_mujeres_mayores_25_mas1hijo FROM Repazo2 WHERE sexo = 'mujer' AND SUBSTR(fechanacimiento,1,4) <= '1985' AND nrohijos <=3; +-----------------------------------+ | total_mujeres_mayores_25_mas1hijo | +-----------------------------------+ | 6 | +-----------------------------------+ -mostrar la fecha del sistema. SELECT CURDATE() AS fecha_sistema; +---------------+ | fecha_sistema | +---------------+ | 2025-09-12 | +---------------+ - Visualizar la hora actual del sistema SELECT CURTIME() AS hora_sistema; +--------------+ | hora_sistema | +--------------+ | 16:05:01 | +--------------+