Advertisement
tomasfdel

TBD Práctica 4

Oct 20th, 2018
393
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 4.26 KB | None | 0 0
  1. I -
  2. 1. SELECT NOM_C FROM CLUB WHERE PRESUPUESTO > 5000000 AND C# IN
  3.     (SELECT DISTINCT C# FROM PARTICIPACION P, COMPETICION C WHERE C.P# = P.P# AND CATEGORIA = 2);
  4. 2. (SELECT DISTINCT NOM_C FROM CLUB C, PARTICIPACION P WHERE C.C# = P.C# AND PUESTO = 1)
  5.    MINUS
  6.    (SELECT DISTINCT NOM_C FROM CLUB C, PARTICIPACION P WHERE C.C# = P.C# AND PUESTO <> 1);
  7. 3. SELECT NOM_C FROM CLUB WHERE C# IN
  8.     (SELECT C# FROM PARTICIPACION GROUP BY C# HAVING COUNT(*) =
  9.         (SELECT COUNT(*) FROM COMPETICION));
  10. 4. SELECT NOM_C FROM C WHERE C# IN (SELECT C# FROM PARTICIPACION WHERE P# = 1)
  11.                          AND C# IN (SELECT C# FROM PARTICIPACION WHERE P# = 2);
  12. 5. SELECT NOM_C, PRESUPUESTO FROM CLUB WHERE C# NOT IN
  13.     (SELECT DISTINCT C# FROM PARTICIPACION WHERE PUESTO = 1);
  14.  
  15. II -
  16. 1. SELECT P#, FECHA, RESULTADO FROM PARTIDAS P, JUGADORES J1, JUGADORES J2, CAMPEONATOS C
  17.    WHERE P.J1# = J1.J#
  18.    AND P.J2# = J2.J#
  19.    AND P.C# = C.C#
  20.    AND CATEGORIA = "Junior"
  21.    AND    (J1.NACIONALIDAD = "Argentina"
  22.        OR J2.NACIONALIDAD = "Argentina");
  23. 2. SELECT DISTINCT NOMBRE FROM PARTIDAS P, JUGADORES J
  24.    WHERE (P.C# = "C1" OR P.C# = "C7")
  25.    AND   (P.J1# = J.J# OR P.J2# = J.J#);
  26. 3. SELECT NOMBRE FROM JUGADORES
  27.    WHERE J# IN
  28.        ((SELECT DISTINCT J1# FROM PARTIDAS WHERE C# = "C1")
  29.         UNION
  30.         (SELECT DISTINCT J2# FROM PARTIDAS WHERE C# = "C1")
  31.    AND J# IN
  32.        ((SELECT DISTINCT J1# FROM PARTIDAS WHERE C# = "C7")
  33.         UNION
  34.         (SELECT DISTINCT J2# FROM PARTIDAS WHERE C# = "C7");
  35. 4. SELECT CNOMBRE FROM CAMPEONATOS WHERE C# IN
  36.     (SELECT DISTINCT C# FROM PARTIDAS P, JUGADORES J1, JUGADORES J2
  37.          WHERE P.J1# = J1.J#
  38.          AND   P.J2# = J2.J#
  39.          AND   J1.NACIONALIDAD = J2.NACIONALIDAD);
  40. 5. SELECT NOMBRE FROM JUGADORES WHERE J# NOT IN
  41.        ((SELECT DISTINCT J1# FROM PARTIDAS)
  42.         UNION
  43.         (SELECT DISTINCT J2# FROM PARTIDAS));
  44.  
  45. III -
  46. 1. SELECT Nombre FROM PERSONA WHERE (NombreMadre, NombrePadre) NOT IN
  47.     (SELECT DISTINCT NombreMujer, NombreVaron FROM MATRIMONIO);
  48. -- 2. Se puede hacer de manera sintética con algo que no se acepta en algunos motores, con algo del estilo
  49. -- SELECT NOMBRE, MIN(FechaNac) FROM Persona,Matrimonio GROUPBY NombreMadre, NombrePadre, FechaRealizacion
  50. -- La otra opción es ver que exista un matrimonio de sus padres en el que haya nacido y no exista otra
  51. -- persona nacida en ese matrimonio con edad menor.
  52. 3. SELECT Nombre FROM PERSONA WHERE NOMBRE NOT IN (SELECT DISTINCT NombrePadre FROM PERSONA)
  53.                               AND   NOMBRE NOT IN (SELECT DISTINCT NombreMadre FROM PERSONA)
  54. 4. SELECT Nombre FROM PERSONA WHERE NOMBRE NOT IN (SELECT DISTINCT NombreVaron FROM MATRIMONIO)
  55.                               AND   NOMBRE NOT IN (SELECT DISTINCT NombreMujer FROM MATRIMONIO)
  56. 5. SELECT Nombre FROM PERSONA WHERE NOMBRE IN (SELECT DISTINCT NombreMadre FROM PERSONA WHERE SEXO = "Varon")
  57.                               AND   NOMBRE IN (SELECT DISTINCT NombreMadre FROM PERSONA WHERE SEXO = "Mujer")
  58. 6. SELECT DISTINCT NVaron, NMujer FROM MATRIMONIO WHERE NombreVaron, NombreMujer IN (SELECT DISTINCT NombreMadre, NombrePadre FROM PERSONA WHERE SEXO = "Varon")
  59.                                                   AND   NombreVaron, NombreMujer NOT IN (SELECT DISTINCT NombreMadre, NombrePadre FROM PERSONA WHERE SEXO = "Mujer")
  60. 7. SELECT Nombre FROM PERSONA PADRE WHERE EXISTS
  61.           (SELECT * FROM (MATRIMONIO, PERSONA) M1 WHERE (NombrePadre = PADRE.Nombre
  62.                                                   OR     NombreMadre = PADRE.Nombre)
  63.                                                   AND    NombrePadre = NombreVaron
  64.                                                   AND    NombreMadre = NombreMujer
  65.                                                   AND    FechaRealizacion >= FechaNac
  66.                                                   AND    FechaFin <= FechaNac
  67.                                                   AND NOT EXISTS
  68.                                                       (SELECT * FROM MATRIMONIO WHERE (NombreVaron = PADRE.Nombre
  69.                                                                                 OR     NombreMujer = PADRE.Nombre)
  70.                                                                                 AND    FechaRealizacion < M1.FechaRealizacion))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement