jueves, 9 de junio de 2011

Implementación de condiciones de búsqueda en consultas (Campeonato)

1) Construir 02 consultas que utilicen JOIN
  • OBTENER LA FECHA Y EL CAMPEONATO DE CADA PARTIDO
 Código
SELECT Ca.C_CAMPEONATO, Pa.D_PARTIDO
FROM CAMPEONATO Ca JOIN
PARTIDO Pa
ON (Ca.C_CAMPEONATO = Pa.C_CAMPEONATO
)
ORDER BY Ca.C_CAMPEONATO, Pa.
D_CAMPEONATO



  • OBTENER EL NOMBRE DEL ESTADIO Y DE LOS ALUMNOS QUE HAYAN PARTICIPADO
Código
SELECT Pa.N_ARBITRO, Es.N_ESTADIO
FROM ESTADIO Es JOIN
PARTIDO Pa
ON (Es.N_ESTADIO= Pa.N_ARBITRO
)
ORDER BY Es.N_ESTADIO, Pa.
N_ARBITRO


2) Construir 02 consultas que utilicen GROUP BY
  • TODOS LOS EQUIPOS Y SUS JUGADORES QUE HAN PARTICIPADO EN EL CAMPEONATO APERTURA 2010
 Código
SELECT E.C_EQUIPO, E.N_EQUIPO, J.C_JUGADOR, J.N_JUGADOR, P.NRO_PARTIDO, P.N_POSICION
FROM JUGADOR J JOIN JUG_EQ_CAMP JEC ON (J.C_JUGADOR = JEC.C_JUGADOR)JOIN CAMPEONATO C ON (C.C_CAMPEONATO = JEC.C_CAMPEONATO)
JOIN EQUIPO E ON (E.C_EQUIPO = JEC.C_EQUIPO)
WHERE C.C_CAMPEONATO ='A10'
GROUP BY E.C_EQUIPO, E.N_EQUIPO, J.C_JUGADOR, J.N_JUGADOR, P.NRO_PARTIDO, P.N_POSICION



  • TODOS LOS EQUIPOS Y SUS JUGADORES QUE HAN PARTICIPADO EN EL CAMPEONATO APERTURA 2010 Y CUYOS NOMBRES TERMNAN EN "O"
  • 3) Construir 02 consultas que utilicen HAVING
  • JUGADORES DEL EQUIPO 2 CUYO NUMERO DE PARTIDOS JUGADOS ES MAYOR A 1
Código
SELECT FROM JUGADOR J JOIN JUG_EQ_CAMP JEC ON (J.C_JUGADOR = JEC.C_JUGADOR)JOIN EQUIPO E ON (E.C_EQUIPO = JEC.C_EQUIPO) JOIN JUG_PARTIDO P ON (P.C_JUGADOR = JEC.C_JUGADOR)WHERE E.C_EQUIPO ='E2'AND P.NRO_PARTIDO >1 GROUP BY E.C_EQUIPO, E.N_EQUIPO, J.C_JUGADOR, J.N_JUGADOR, P.NRO_PARTIDO, P.N_POSICION HAVING COUNT (DISTINCT P.NRO_PARTIDO)>=1
            Código
             SELECT E.C_EQUIPO, E.N_EQUIPO, J.C_JUGADOR, J.N_JUGADOR, P.NRO_PARTIDO, P.N_POSICION FROM JUGADOR J JOIN JUG_EQ_CAMP JEC ON (J.C_JUGADOR = JEC.C_JUGADOR)JOIN EQUIPO E ON (E.C_EQUIPO = JEC.C_EQUIPO) JOIN JUG_PARTIDO P ON (P.C_JUGADOR = JEC.C_JUGADOR)WHERE P.N_POSICION = 'DELANTERO'GROUP BY E.C_EQUIPO, E.N_EQUIPO, J.C_JUGADOR, J.N_JUGADOR, P.NRO_PARTIDO, P.N_POSICION HAVING  COUNT (DISTINCT P.NRO_PARTIDO)>=1 E.C_EQUIPO, E.N_EQUIPO, J.C_JUGADOR, J.N_JUGADOR, P.NRO_PARTIDO, P.N_POSICION
            • JUGADORES QUE HAYAN JUGADO UNO O MAS PARTIDOS Y QUE SEAN DELANTERO
             Código
            SELECT E.C_EQUIPO, E.N_EQUIPO, J.C_JUGADOR, J.N_JUGADOR, P.NRO_PARTIDO, P.N_POSICION
            FROM JUGADOR J JOIN
            JUG_EQ_CAMP JEC ON (J.C_JUGADOR = JEC.C_JUGADOR)JOIN CAMPEONATO C ON (C.C_CAMPEONATO = JEC.C_CAMPEONATO)

            JOIN EQUIPO E ON (E.
            C_EQUIPO = JEC.C_EQUIPO)

            WHERE C.
            C_CAMPEONATO =
            'A10' GROUP BY E.C_EQUIPO, E.N_EQUIPO, J.C_JUGADOR, J.N_JUGADOR, P.NRO_PARTIDO, P.N_POSICION

                
            4) Construir 02 consultas que utilicen JOIN, WHERE, GROUP BY y HAVING
            • LISTADO DE JUGADORES CUYO NOMBRE ACABA EN "O" Y HAN JUGADO MAS DE UN PARTIDO
            Código SELECT  E.C_EQUIPO, E.N_EQUIPO, J.C_JUGADOR, J.N_JUGADOR, P.NRO_PARTIDO, P.N_POSICION FROM JUGADOR J JOIN JUG_EQ_CAMP JEC ON (J.C_JUGADOR = JEC.C_JUGADOR)JOIN EQUIPO E ON (E.C_EQUIPO = JEC.C_EQUIPO) JOIN JUG_PARTIDO P ON (P.C_JUGADOR = JEC.C_JUGADOR)WHERE J.N_JUGADOR LIKE '%O' GROUP BY E.C_EQUIPO, E.N_EQUIPO, J.C_JUGADOR, J.N_JUGADOR, P.NRO_PARTIDO, P.N_POSICION HAVING COUNT (DISTINCT P.NRO_PARTIDO)>=1 
                    

            • LISTADO DE JUGADORES DEL EQUIPO DE ALIANZA QUE HAN JUGADO MAS DE UN PARTIDO
                Código
                SELECT E.C_EQUIPO, E.N_EQUIPO, J.C_JUGADOR, J.N_JUGADOR, P.NRO_PARTIDO, P.N_POSICION FROM JUGADOR J JOIN JUG_EQ_CAMP JEC ON (J.C_JUGADOR = JEC.C_JUGADOR)JOIN EQUIPO E ON (E.C_EQUIPO = JEC.C_EQUIPO) JOIN JUG_PARTIDO P ON (P.C_JUGADOR = JEC.C_JUGADOR)WHERE E.C_EQUIPO ='E1'AND E.N_EQUIPO='ALIANZA LIMA'AND P.NRO_PARTIDO >1 AND P.N_POSICION ='DELANTERO' GROUP BY E.C_EQUIPO, E.N_EQUIPO, J.C_JUGADOR, J.N_JUGADOR, P.NRO_PARTIDO, P.N_POSICION HAVING COUNT (DISTINCT P.NRO_PARTIDO)>=1
            5) Construir 02 consultas que utilicen OUTER JOIN

            • LEFT OUTER JOIN DE LAS TABLAS JUG_PARTIDO Y JUGADOR
            • LEFT OUTER JOIN DE LAS TABLAS JUG_EQUI_CAMP Y EQUIPO



            No hay comentarios:

            Publicar un comentario