0% encontró este documento útil (0 votos)
19 vistas12 páginas

Práctica SQL: DML y DDL en Bases de Datos

La práctica presenta un ejercicio sobre una biblioteca online con diferentes tablas (libro, ejemplar, prestamo, socio) y realiza operaciones DDL para modificar las tablas, DML para consultas con selección, proyección, atributos calculados, join natural y join con condición. Se pide realizar consultas SQL sobre las tablas y analizar los resultados.
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)
19 vistas12 páginas

Práctica SQL: DML y DDL en Bases de Datos

La práctica presenta un ejercicio sobre una biblioteca online con diferentes tablas (libro, ejemplar, prestamo, socio) y realiza operaciones DDL para modificar las tablas, DML para consultas con selección, proyección, atributos calculados, join natural y join con condición. Se pide realizar consultas SQL sobre las tablas y analizar los resultados.
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

Apellido y Nombre: Práctica 4: SQL

B ASES DE D ATOS
2do C UATRIMESTRE DE 2023

Práctica 4
SQL

1. Resumen de SQL (sólo DML)


La sintaxis del DML de SQL puede resumirse de la siguiente manera:
SELECT [ALL | DISTINCT] <atributos>
FROM <tablas>
[WHERE <expresion condicional>]
[GROUP BY <atributo(s)>]
[HAVING <expresion condicional>]
[ORDER BY <columna(s)>]
donde:
<atributos> es la información a obtener de la base de datos.
FROM <tablas> especifica de qué tablas se obtiene la información buscada.
WHERE <expresion condicional> expresa una condición que deben cumplir las filas de la consulta resultante.
GROUP BY <atributo(s)> permite formar consultas agrupadas para extraer información global sobre los grupos
formados.
HAVING <expresion condicional> es condición sobre los grupos formados.
ORDER BY <columna(s)> ordena por una o varias columnas.
DISTINCT: No permite la aparición de filas idénticas.
<expresion condicional>: formada por un conjunto de predicados combinados mediante los operadores lógicos
AND, OR y NOT.
Los predicados utilizados permiten comparar columnas:
• predicados de comparación: =, <>, >, <, >=, <=.
• predicado BETWEEN: permite comprobar si un escalar está en un rango.
• predicado IN: permite comprobar si el valor está dentro de un conjunto.
• predicado IS NULL: permite comprobar si el valor es nulo.

1/12
Apellido y Nombre: Práctica 4: SQL

2. Estilo requerido para el código SQL

1. Uso de mayúsculas y minúsculas

a) Palabras reservadas del lenguaje (select, on , where, etc.): MAYÚSCULAS


b) Nombres de tablas: minúsculas y singular
c) Nombres de atributos: minúsculas

2. Organización del código

a) Un renglón para todo lo relativo al SELECT


b) Un renglón para el FROM
c) Un renglón para cada tabla joineada
d) Un renglón para el WHERE
e) Un renglón para cada <expresion condicional> del WHERE

Ejercicio 1: Biblioteca online


Nota Importante: Se aconseja resolver los ejercicios en el orden planteado. Cuando se pide el resultado de
una consulta, se debe justificar por qué el resultado tiene el conjunto de columnas y filas resultante.

Relación: libro
isbn titulo
33058621 Inferno
35494238 Cien Años de Soledad
58764384 Venas abiertas de América Latina
38784929 Aeropuerto

Relación: ejemplar
cod_ejemplar isbn_libro edición
503 33058621 2
785 33058621 4
065 35494238 1
098 38784929 3
223 58764384 3
101 58764384 1

Relación: prestamo
cod_ejemplar cod_socio fecha_prestamo fecha_devolución
503 78 03/05/2012 08/05/2012
223 54 21/01/2013 23/01/2013
785 78 21/02/2013
101 03 17/11/2013 18/11/2013

Relación: socio
cod_socio nombre_y_apellido fecha_ingreso monto_cuota matricula pais
78 Sheldon Cooper 03/05/2011 12 4 Brasil
54 Howard Wolowitz 21/01/2011 16 0 Argentina
03 Amy Farrah Fowler 17/02/2011 5 10 Argentina

Relación: nacionalidad
nombre_pais nacionalidad
Argentina Argentina
Brasil Brasilera
Perú Peruana
Mexico Mexicana

2/12
Apellido y Nombre: Práctica 4: SQL

1. DDL/DML

(a) Observe en el archivo [Link] cómo se crean las


relaciones y se insertan los datos.
(b) Modifique la relación “ejemplar” agregando como atributo el año de la Edición.
(c) Modifique la relación “socio” agregando un atributo que permita guardar el domicilio
del Socio.
(d) Actualice la relación “socio” incrementando en 10 pesos el monto de la cuota.
(e) Actualice la nacionalidades de Amy Farrah Fowler a Mexicana y la de Howard Wolo-
witz a Colombiana.
(f) Elimine la nacionalidad Peruana.
(g) Elimine todos los ejemplares que sean de la 3ra Edición de cualquier Libro.

2. DML

2.b) Proyección

I. Indicar cuál es el resultado de las siguientes consultas y analizar que representa


cada una.
a) SELECT cod_socio FROM prestamo

b) SELECT cod_ejemplar FROM prestamo

c) SELECT cod_ejemplar,cod_socio FROM prestamo


Q
II . ¿El resultado de <SELECT cod_socio FROM prestamo> es el mismo que el de <cod_socio> (prestamo
¿Por qué?
III . Sea R =< r1 , ..., rn >. ¿Cómo es el esquema de las siguientes operaciones?
a) SELECT r1 FROM R

b) SELECT r1 ,r2 FROM R

IV . Calcular el nombre y apellido de todos los socios.

2.c) Atributos calculados

I. Resolver las siguientes consultas:


a) Obtener la duración (en cantidad de días) de cada préstamo.
b) Calcular cuánto paga cada socio por año, sabiendo que la matrícula se paga una
vez al año y la cuota es mensual.

2.d) Selección

I. Indicar cuál es el resultado de las siguientes consultas y analizar que representa


cada una.

3/12
Apellido y Nombre: Práctica 4: SQL

a) SELECT cod_socio FROM prestamo WHERE fecha_prestamo>’31/01/2012’

b) SELECT cod_ejemplar FROM prestamo WHERE fecha_prestamo>’31/01/2012’

¿Cómo son estos resultados con respecto a los del ejercicio de la Proyección?
II . Sea R =< r1 , ..., rn >. ¿Cómo es el esquema de las siguientes operaciones?
a) SELECT r1 FROM R WHERE rn < r2

b) SELECT r1 ,r2 FROM R WHERE rn < r2

III . Obtener el ISBN de los ejemplares de la segunda o tercera edición.

2.e) Join Natural

I. Indicar cuál es el resultado de las siguientes consultas y analizar que representa


cada una.
a) SELECT * FROM prestamo NATURAL JOIN ejemplar
b) SELECT * FROM prestamo NATURAL JOIN socio

II . ¿Tiene sentido calcular: SELECT * FROM ejemplar NATURAL JOIN socio? justificar
III . ¿Qué condiciones deben cumplir R1 y R2 para que tenga sentido la consulta SELECT
* FROM R1 NATURAL JOIN R2 ? ¿Cuál es el esquema resultante de esa consulta?

IV . ¿Qué condiciones deben cumplir R1 y R2 para que tenga sentido la consulta SELECT
* FROM R1 NATURAL JOIN R2 WHERE B ? ¿Cuál es el esquema resultante?

V. Resolver las siguientes consultas:


a) Obtener el nombre de los libros que tienen ejemplares de la segunda o tercera
edición.
b) Obtener cuántos prestamos que tuvo cada socio el último verano.

2.f) Producto Cartesiano

I. Indicar cuál es el resultado de las siguientes consultas y analizar que representa


cada una.
a) SELECT * FROM prestamo JOIN socio

b) SELECT * FROM ejemplar JOIN socio

II . ¿Qué condiciones deben cumplir R1 y R2 para que tenga sentido las consultas:
a) SELECT * FROM R1 JOIN R2 ?
b) SELECT * FROM R1 JOIN R2 where B ?

¿Cuál es el esquema resultante de cada una?

2.g) Join con condición

I. Indicar cuál es el resultado de las siguientes consultas y analizar qué representa


cada una.
a) SELECT * FROM prestamo JOIN socio ON fecha_ingreso < fecha_prestamo

b) SELECT * FROM ejemplar JOIN socio ON fecha_ingreso <’01/02/2008’

4/12
Apellido y Nombre: Práctica 4: SQL

Ejercicio 2: Trabajadores de Edificios en Capital Federal


Sean las tablas siguientes que modelan los trabajadores de diferentes edificios en Capital
Federal:

trabajador <legajo, nombre, tarifa, oficio, legajo_supv>


(Cada fila representa un trabajador, identificado por su legajo.
Su nombre es nombre; su tarifa por hora, en pesos; su oficio y el identificador de su supervisor legajo_superv.)
edificio <id_e, dir, tipo, nivel_calidad, categoria>
(Cada fila representa un edificio, que se identifica por su id_e.
Se guarda su dirección; el tipo de edificio; su nivel de calidad y su categoría.)
asignacion <legajo, id_e, fecha_inicio, num_dias>
(Una fila por cada vez que un trabajador es asignado a un edificio.)

Revise el archivo [Link] para la


creación de las tablas y la inserción del contenido.

1. DDL/DML

(a) Modifique la relación trabajador agregando la edad del mismo.


(b) Modifique la relación edificio agregando un atributo que permita guardar la ciudad
del edificio.
(c) Actualice la relación asignaciones incrementando en 4 los números de dias en las
asignaciones.
(d) Actualice el nivel de calidad de los edificios que son oficinas cambiando 4 por 5 y la
categoría de 1 por 4.
(e) Elimine todos los plomeros.
(f) Elimine los edificios que son residencias.

2. DML: Resolver las siguientes consultas usando SQL

(a) Nombre de los trabajadores cuya tarifa está entre 10 y 12 pesos.


(b) Cuáles son los oficios de los trabajadores asignados al edificio 435?
(c) Indicar el nombre del trabajador y el de su supervisor.
(d) Nombre de los trabajadores asignados a oficinas.
(e) Qué trabajadores reciben una tarifa por hora mayor que la de su supervisor?
(f) Cuál es el número total de días que se han dedicado a plomería en el edificio 312?
(g) Cuántos tipos de oficios diferentes hay?
(h) Para cada supervisor, cuál es la tarifa por hora más alta que se paga a un trabajador
que informa a ese supervisor?

5/12
Apellido y Nombre: Práctica 4: SQL

(i) Para cada supervisor que supervisa a más de un trabajador, cuál es la tarifa más alta
que se paga a un trabajador que informa a ese supervisor?
(j) Para cada tipo de edificio, cuál es el nivel de calidad medio de los edificios con cate-
goría 1? Considérense sólo aquellos tipos de edificios que tienen un nivel de calidad
máximo no mayor que 3.
(k) Qué trabajadores reciben una tarifa por hora menor que la del promedio?
(l) Qué trabajadores reciben una tarifa por hora menor que la del promedio de los traba-
jadores que tienen su mismo oficio?
(m) Qué trabajadores reciben una tarifa por hora menor que la del promedio de los traba-
jadores que dependen del mismo supervisor que él?
(n) Seleccione el nombre de los electricistas asignados al edificio 435 y la fecha en la que
empezaron a trabajar en él.
(ñ) Qué supervisores tienen trabajadores que tienen una tarifa por hora por encima de los
12 euros?

Ejercicio 3: Centros de Lavado y Planchado


Dado el siguiente esquema que representa el equipamiento que tiene la cadena de centros de
Lavado y Planchado “Todo Liso”:

empleado <apodo: VARCHAR(30) PK, edad: INT, telefono: VARCHAR(30)>


lavarropas <codlavarropas: INT PK, marca: VARCHAR(20),
origen: CHAR(3), val_defecto: ARG, capacidad: INT,
id_sucursal: VARCHAR(40) FK>
plancha <cod_plancha: INT PK, fabricante: VARCHAR(20),
id_sucursal: VARCHAR(40) FK>
turno <fecha: DATETIME PK, plancha_id: INT PK FK,
apodo: VARCHAR(30) PK FK, horas: INT>
sucursal <id_sucursal: VARCHAR(40) PK, barrio: VARCHAR(50)>

Revise el archivo [Link] para la creación de


las tablas y la inserción del contenido y resuelva los siguientes ejercicios.

1. Consultas DML

(a) Obtener todos los (cod_plancha, fabricante) de las planchas instaladas en sucursales
que no tengan lavarropas ESPañoles.
(b) Obtener todos los (cod_lavarropas, marca) de los lavarropas fabricados en BRA o que
en la sucursal donde está instalado trabaje el empleado “johnny”
(c) Obtener la (id_sucursal, cantidad) de lavarropas por sucursal.
(d) Obtener el promedio de horas trabajadas por empleado, de aquellos empleados que
trabajan en sucursales que tienen lavarropas con capacidad de más de 20 kg y cuyo
promedio de horas trabajadas sea mayor a 5.
(e) Obtener los empleados que trabajaron solamente con planchas del fabricante “Atma”.

6/12
Apellido y Nombre: Práctica 4: SQL

Ejercicio 4: Protección al Consumidor


INDUnq: Una empresa de protección al consumidor posee una base de datos relacional en la
cual se registra la siguiente información:

producto <pid: INT PK, descripcion: VARCHAR(70),


tipo: VARCHAR(40), contenido: VARCHAR(40)>
tipo <tipo: VARCHAR(40) PK, descripcion: VARCHAR(100)>
comercio <comercio: INT PK, nombre: VARCHAR(100),
direccion: VARCHAR(250), barrio: VARCHAR(50), zona: VARCHAR(60)>
precio <pid: INT PK FK, comercio: INT PK FK,
fecha_registro: DATETIME PK, precio DECIMAL(10,2)>

Revise el archivo [Link] para la inserción de los


datos. En este ejercicio no se provee la creación de las tablas. Se las debe crear de
manera que las inserciones sean posibles

1. DDL/DML

(a) Actualizar la dirección del comercio número 42 con el valor “Balcarce 50”.

2. DML

(a) ¿Choclo o Pochoclo? Listar los productos que el contenido sea “Choclo” y el tipo “En-
latado” o el contenido sea “Pochoclo” y el tipo “Bolsa”.
(b) ¿A cuánto el tomate? Listar los precios del tomate que se vende en la zona de Bernal.
(c) Comercios Gourmet: Listar los comercios que venden Avellanas a más de $50 y tam-
bién venden Frutas Secas a menos de $40.
(d) Productos Exclusivos: Listar los <pid, descripcion> de los productos que son vendidos
en el barrio de Palermo, pero que no son vendidos en el barrio de San Telmo.
(e) Barrios: Listar el <precio-promedio, barrio> del precio promedio de los productos
ofrecidos en cada barrio.
(f) Los precios de ahorita: Obtener la lista de los productos con sus precios actuales.
(g) Sobreprecios: Obtener la lista de los productos que sufrieron aumentos en las entre
dos fechas diferentes (no necesariamente consecutivas).

Ejercicio 5: Profesores del TPI


La UNQ tiene una bases de datos que registra la información de sus alumnos inscriptos en las
materias del TIP y los profesores que pueden dictarlas.

7/12
Apellido y Nombre: Práctica 4: SQL

alumno <legajo: int PK, apellido: varchar(30), nombre: varchar(30),


aniodeingreso: int, trabaja: boolean>
inscripto <cod_curso: varchar(6) PK, legajo: int PK>
curso <cod_curso: varchar(6) PK, legajo_prof: int,
cod_materia: varchar(30), dia: varchar(3), turno: int>
profesor <legajo_prof: int PK, cuil: varchar(30),
apellido: varchar(30), nombre: varchar(30),
marca: varchar(20), aniodeingreso: int,
polizaart: varchar(30), salario: int>
materia <cod_materia: varchar(15) PK,
materia: varchar(150), semestre: int>
puede_dar <cod_materia: varchar(15) PK, legajo_prof: int PK>
profesor_trabaja_industria <legajo_prof: int PK, sueldo: int>

Revise el archivo [Link] para la creación de las tablas. En


este ejercicio no se proveen las inserciones de prueba.

1. DML

(a) Listar <cod_curso, legajo, apellido, nombre> donde aparezcan aquellos alumnos y
docentes que participan del curso 2 de la materia Bases de Datos.
(b) Listar el sueldo promedio de los profesores de Bases de Datos y que trabajan en la
industria.
(c) Listar <legajo-prof, apellido, nombre, añodeingreso> que no pueden dar una materia
del semestre 1.
(d) Listar <legajo-prof> que no trabajen en la industria.
(e) Considerando que una materia tiene diferentes profesores en una misma materia, lis-
tar <cod-materia, salario-promedio> de los profesores de cada materia.

Ejercicio 6: Proveedores y Envíos de Componentes y Artículos


Sean las siguientes bases de datos:

Relación: proveedores
id_prov prov_nombre categoria ciudad
P1 Carlos 20 La Plata
P2 Juan 10 Cap. Fed.
P3 José 30 La Plata
P4 Dora 20 La Plata
P5 Eva 30 Bernal

Relación: componentes
id_comp comp_nombre color peso ciudad
C1 X3A Rojo 12 La Plata
C2 B85 Verde 17 Cap. Fed.
C3 C4B Azul 17 Quilmes
C4 C4B Rojo 14 La Plata
C5 VT8 Azul 12 Cap. Fed.
C6 C30 Rojo 19 La Plata

Relación: articulos

8/12
Apellido y Nombre: Práctica 4: SQL

id_art art_nombre ciudad


T1 Clasificadora Cap. Fed.
T2 Perforadora Quilmes
T3 Lectora Bernal
T4 Consola Bernal
T5 Mezcladora La Plata
T6 Terminal Berazategui
T7 Cinta La Plata

Relación: envios
id_prov id_comp id_art cantidad
P1 C1 T1 200
P1 C1 T4 700
P2 C3 T1 400
P2 C3 T2 200
P2 C3 T3 200
P2 C3 T4 500
P2 C3 T5 600
P2 C3 T6 400
P2 C3 T7 800
P2 C5 T2 100
P3 C3 T1 200
P3 C4 T2 100
P4 C6 T3 300
P4 C6 T7 300
P5 C2 T2 200
P5 C2 T4 100
P5 C5 T4 500
P5 C5 T7 100
P5 C6 T2 200
P5 C1 T4 100
P5 C3 T4 200
P5 C4 T4 800
P5 C5 T5 400
P5 C6 T4 500

proveedores representa los datos de proveedores de componentes para la fabricación de


artículos y su ciudad de residencia.
componentes indica la información de piezas utilizadas en la fabricación de artículos,
indicándose el lugar de fabricación de dichos componentes.
artículos provee información sobre los diferentes artículos que se fabrican y el lugar del
ensamblaje de los mismos.
envíos representa los suministros realizados por los diferentes proveedores de determina-
das cantidades de componentes asignadas para la elaboración del artículo correspon-
diente.

1. DDL/DML

(a) Observe en el archivo [Link] cómo se insertan los datos. En


este ejercicio no se provee la creación de las tablas. Se las debe crear de manera
que las inserciones sean posibles.
(b) Modifique la relación componentes agregando como atributo la provincia de la ciudad
de los Componentes.
(c) Modifique la relación artículos agregando un atributo que permita guardar el número
de serie de cada artículo.

9/12
Apellido y Nombre: Práctica 4: SQL

(d) Actualice la componentes cambiando los colores rojos por violeta y los azules por
marrón.
(e) Actualice la definición de componentes para que los colores posibles sean solamente
{rojo, verde, azul, violeta o marrón}
(f) Actualice la ciudad de los proveedores cuyos nombres son Carlos o Eva, y cambie su
ciudad por Bahía Blanca.
(g) Elimine todos los envios cuya cantidad esté entre 200 y 300.
(h) Elimine los artículos de La Plata.

2. DML: Resolver los siguientes ejercicios usando SQL

(a) Obtener todos los detalles de todos los artículos de Bernal.


(b) Obtener todos los valores de id_prov para los proveedores que abastecen el artículo
T1.
(c) Obtener de la tabla de artículos los valores de id_art y ciudad donde el nombre de la
ciudad acaba en D o contiene al menos una E.
(d) Obtener los valores de id_prov para los proveedores que suministran para el artículo
T1 el componente C1.
(e) Obtener los valores de art_nombre en orden alfabético para los artículos abastecidos
por el proveedor P1.
(f) Obtener los valores de id_comp para los componentes suministrados para cualquier
artículo de Capital Federal.
(g) Obtener el id_comp del (o los) componente(s) que tienen el menor peso.
(h) Obtener los valores de idprov para los proveedores que suministran para un artículo
de La Plata o Capital Federal un componente Rojo.
(i) Seleccionar el id_prov de los proveedores que nunca suministraron un componente
verde.
(j) Obtener, para los envíos del proveedor P2, el número de suministros realizados, el de
artículos distintos suministrados y la cantidad total.
(k) Obtener la cantidad máxima suministrada en un mismo envío, para cada proveedor.
(l) Para cada artículo y componente suministrado obtener los valores de id_comp, id_art
y la cantidad total correspondiente.
(m) Seleccionar los nombres de los componentes que son suministrados en una cantidad
total superior a 500.
(n) Obtener los identificadores de artículos, id_art, para los que se ha suministrado algún
componente del que se haya suministrado una media superior a 420 artículos.
(ñ) Seleccionar los identificadores de proveedores que hayan realizado algún envío con
cantidad mayor que la media de los envíos realizados para el componente a que co-
rresponda dicho envío.
(o) Seleccionar los identificadores de artículos para los cuales todos sus componentes se
fabrican en una misma Ciudad.

10/12
Apellido y Nombre: Práctica 4: SQL

(p) Seleccionar los identificadores de artículos para los que se provean envíos de todos los
componentes existentes en la base de datos.

Ejercicio 7: Partidos del Mundial 2018


Un sistema encargado de llevar registros del Mundial 2018 tiene las siguientes relaciones:

seleccion <nombre_seleccion: VARCHAR(25) PK,


director_tecnico: VARCHAR(35), preparador_fisico: VARCHAR(35)>
jugador_seleccion <nombre: VARCHAR(35) PK, posicion: VARCHAR(25),
posicion_auxiliar: VARCHAR(25), edad: INT,
nombre_seleccion: VARCHAR(25) FK>
(Se asume que no existen dos jugadores que se llamen igual.)
(Un jugador se desempeña en una posición, aunque puede (pero no siempre) tener otra posición donde
también juegue bien. Un ejemplo es el caso de Mascherano, que juega de “Defensor central”, pero
también puede jugar de “Mediocampista defensivo”.)
partido <id_partido: INT PK, equipo_local: VARCHAR(25) FK,
equipo_visitante: VARCHAR(25) FK, fecha: DATETIME,
nombre_arbitro: VARCHAR(35), estadio: VARCHAR(25) FK>
gol <id_partido: INT PK FK,
nombre_goleador: VARCHAR(25) PK FK, minuto: INT PK>
tarjeta_amarilla <id_partido: INT PK FK,
nombre_amonestado: VARCHAR(35) PK FK, minuto: INT PK>
tarjeta_roja <id_partido: INT PK FK,
nombre_amonestado: VARCHAR(35) PK FK, minuto: INT>
estadio <nombre: VARCHAR(25) PK, capacidad: INT,
cantidad_de_butacas: INT, cantidad_de_banderitas: INT>

Revise el archivo [Link] para la crea-


ción de las tablas y la inserción del contenido y resuelva los siguientes ejercicios.

1. DDL/DML

(a) Agregar 3 tuplas a la tabla tarjetaamarilla.


(b) Actualizar la cantidad de banderitas del Minerao a 3000 banderitas.

2. DML: Consultas

(a) Obtener la cantidad de goles convertidos por el jugador “Messi” en el partido 103243.
(b) Obtener nombre y cantidad de banderitas de los estadios donde haya dirigido algún
árbitro que haya sacado tarjeta roja y al menos una tarjeta amarilla.
(c) Obtener el nombre de los jugadores que hayan recibidos tarjetas amarillas pero no
tarjetas rojas.
(d) Obtener los nombres de las selecciones con arqueros goleadores y defensores golea-
dores.
(e) Obtener los nombres de jugadores expulsados por doble amarilla.

11/12
Apellido y Nombre: Práctica 4: SQL

(f) Obtener la tabla de equipos ordenados de mayor a menor de acuerdo a la cantidad de


goles que convirtieron. La tabla resultante debe tener 2 columnas con el nombre del
seleccionado y la cantidad de goles convertidos.

12/12

También podría gustarte