diff --git a/1/GBD/tema4-ej3.sql b/1/GBD/tema4-ej3.sql new file mode 100644 index 0000000..3a5c5f4 --- /dev/null +++ b/1/GBD/tema4-ej3.sql @@ -0,0 +1,30 @@ +SELECT POSICION, ROUND(AVG(SALARIO),2) FROM FUTBOLISTAS GROUP BY POSICION; +SELECT ID_EQUIPO, COUNT(*) FROM FUTBOLISTAS GROUP BY ID_EQUIPO; +SELECT ID_EQUIPO, COUNT(*) FROM FUTBOLISTAS GROUP BY ID_EQUIPO HAVING ID_EQUIPO IN (1,2); + +SELECT * FROM PARTIDOS,EQUIPOS; + +SELECT FUTBOLISTAS.NOMBRE, EQUIPOS.NOMBRE FROM FUTBOLISTAS,EQUIPOS WHERE FUTBOLISTAS.ID_EQUIPO = EQUIPOS.ID; +-- para incluir nulos: +SELECT FUTBOLISTAS.NOMBRE, EQUIPOS.NOMBRE FROM FUTBOLISTAS,EQUIPOS WHERE FUTBOLISTAS.ID_EQUIPO(+) = EQUIPOS.ID; + +SELECT E.NOMBRE "NOMBRE EQUIPO", + F.POSICION "POSICION FUTBOLISTA" + F.NOMBRE "NOMBRE FUTBOLISTA", + FROM FUTBOLISTAS F, EQUIPOS E + WHERE F.ID_EQUIPO = E.ID; + +-- con JOIN +SELECT E.NOMBRE "NOMBRE EQUIPO", + F.POSICION "POSICION FUTBOLISTA" + F.NOMBRE "NOMBRE FUTBOLISTA", + FROM FUTBOLISTAS F + JOIN EQUIPOS E + ON F.ID_EQUIPO = E.ID; + +-- DOES CARTESIAN PRODUCT OF JOIN +SELECT E.NOMBRE "NOMBRE EQUIPO", + F.POSICION "POSICION FUTBOLISTA" + F.NOMBRE "NOMBRE FUTBOLISTA", + FROM FUTBOLISTAS F + CROSS JOIN EQUIPOS E;