0% encontró este documento útil (0 votos)
10 vistas4 páginas

Consultas SQL sobre Matrimonios y Edades

El documento contiene 6 consultas SQL con sus respectivas soluciones para obtener información de varias tablas relacionadas. La primera consulta encuentra el matrimonio con mayor y menor diferencia de edad. La segunda busca los nombres de hombres a los que les gustan mujeres cuyos nombres empiezan por C y están casadas. La tercera devuelve parejas donde la mujer tiene más de 25 años. La cuarta identifica el matrimonio más longevo por suma de edades. La quinta halla la persona más popular entre hombres y mujeres. Y la sexta busca la
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
10 vistas4 páginas

Consultas SQL sobre Matrimonios y Edades

El documento contiene 6 consultas SQL con sus respectivas soluciones para obtener información de varias tablas relacionadas. La primera consulta encuentra el matrimonio con mayor y menor diferencia de edad. La segunda busca los nombres de hombres a los que les gustan mujeres cuyos nombres empiezan por C y están casadas. La tercera devuelve parejas donde la mujer tiene más de 25 años. La cuarta identifica el matrimonio más longevo por suma de edades. La quinta halla la persona más popular entre hombres y mujeres. Y la sexta busca la
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Bases de Datos Andrew Salcedo Olivera

PRÁCTICA #2: CONSULTAS SQL Y SOLUCIONES

1. ¿Cuál es el matrimonio con mayor diferencia de edad, y cuál es el que tiene la menor
diferencia de edad?
A) Matrimonio con mayor diferencia
SELECT M.NOMBRE_HOMBRE,

H.EDAD_HOMBRE,

M.NOMBRE_MUJER,

MU.EDAD_MUJER,

ABS(H.EDAD_HOMBRE - MU.EDAD_MUJER) AS DIFERENCIA_EDAD

FROM T_MATRIMONIOS M

JOIN T_HOMBRES H ON M.NOMBRE_HOMBRE = H.NOMBRE_HOMBRE

JOIN T_MUJERES MU ON M.NOMBRE_MUJER = MU.NOMBRE_MUJER

ORDER BY DIFERENCIA_EDAD DESC

LIMIT 1;

B) Matrimonio con menor diferencia:


SELECT

M.NOMBRE_HOMBRE,

M.NOMBRE_MUJER,

ABS(H1.EDAD_HOMBRE - H2.EDAD_MUJER) AS DIFERENCIA_EDAD

FROM

T_MATRIMONIOS M

INNER JOIN

T_HOMBRES H1 ON M.NOMBRE_HOMBRE = H1.NOMBRE_HOMBRE

INNER JOIN

T_MUJERES H2 ON M.NOMBRE_MUJER = H2.NOMBRE_MUJER

ORDER BY

DIFERENCIA_EDAD ASC

LIMIT 1;
Bases de Datos Andrew Salcedo Olivera

2. Nombre de los hombres a los que les caen bien las mujeres que empiezan por c y
están en un matrimonio
SELECT thc.NOMBRE_HOMBRE,

thc.NOMBRE_MUJER

FROM t_hombre_cae_simpatico thc, t_hombres th, t_mujeres tm

WHERE th.NOMBRE_HOMBRE = thc.NOMBRE_HOMBRE

AND tm.NOMBRE_MUJER = thc.NOMBRE_MUJER

AND thc.NOMBRE_MUJER LIKE 'C%' AND EXISTS (

SELECT
tmat.NOMBRE_MUJER

FROM t_matrimonios
tmat

WHERE
tmat.NOMBRE_MUJER=thc.NOMBRE_MUJER

GROUP BY thc.NOMBRE_HOMBRE, thc.NOMBRE_MUJER

3. Consulta que devuelve los nombres de las parejas en las que la mujer tiene más de
25 años
SELECT tmat.NOMBRE_HOMBRE 'HOMBRE',

tmat.NOMBRE_MUJER 'MUJER',

tm.EDAD_MUJER 'EDAD DE MUJER'

FROM t_matrimonios tmat, t_mujeres tm, t_hombres th

WHERE tmat.NOMBRE_HOMBRE = th.NOMBRE_HOMBRE

AND tmat.NOMBRE_MUJER = tm.NOMBRE_MUJER

AND tm.EDAD_MUJER > 25


Bases de Datos Andrew Salcedo Olivera

4. Averiguar el matrimonio mas longevo según la suma de las dos edades del
matrimonio
SELECT tmat.NOMBRE_HOMBRE,

tmat.NOMBRE_MUJER,

SUM(tm.EDAD_MUJER + th.EDAD_HOMBRE) AS SUMA

FROM t_matrimonios tmat, t_mujeres tm, t_hombres th

WHERE tmat.NOMBRE_HOMBRE = th.NOMBRE_HOMBRE

AND tmat.NOMBRE_MUJER = tm.NOMBRE_MUJER

GROUP BY tmat.NOMBRE_HOMBRE, tmat.NOMBRE_MUJER

HAVING SUMA >= ALL (

SELECT MAX(tm2.EDAD_MUJER + th2.EDAD_HOMBRE)

FROM t_matrimonios tmat2, t_mujeres tm2, t_hombres


th2

WHERE tmat2.NOMBRE_HOMBRE = th2.NOMBRE_HOMBRE

AND tmat2.NOMBRE_MUJER = tm2.NOMBRE_MUJER

GROUP BY tmat2.NOMBRE_HOMBRE, tmat2.NOMBRE_MUJER

5. Hallar la persona casa a la que gusten más personas


SELECT

tmat.NOMBRE_HOMBRE,

(SELECT COUNT(DISTINCT ths.NOMBRE_MUJER)

FROM t_hombre_cae_simpatico ths

WHERE ths.NOMBRE_HOMBRE = tmat.NOMBRE_HOMBRE) AS SUB_N_HOMBRES,

tmat.NOMBRE_MUJER 'PAREJA',

(SELECT COUNT(DISTINCT tms.NOMBRE_HOMBRE)

FROM t_mujer_cae_simpatica tms

WHERE tms.NOMBRE_MUJER = tmat.NOMBRE_MUJER) AS SUB_N_MUJERES

FROM t_matrimonios tmat

GROUP BY tmat.NOMBRE_HOMBRE, tmat.NOMBRE_MUJER

ORDER BY 4 DESC, 2 DESC

LIMIT 1
Bases de Datos Andrew Salcedo Olivera

6. Averiguar la mujer más popular que supere la media de la edad media de las mujeres
SELECT

T_MUJER_CAE_SIMPATICA.NOMBRE_MUJER,

COUNT(*) AS Total_Gustos

FROM

T_MUJER_CAE_SIMPATICA

JOIN

T_MUJERES ON T_MUJER_CAE_SIMPATICA.NOMBRE_MUJER =
T_MUJERES.NOMBRE_MUJER

WHERE

T_MUJERES.EDAD_MUJER > (SELECT AVG(EDAD_MUJER) FROM T_MUJERES)

GROUP BY

T_MUJER_CAE_SIMPATICA.NOMBRE_MUJER

ORDER BY

Total_Gustos DESC

LIMIT 1;

También podría gustarte