Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


CONSULTAS SQL SERVER, Ejercicios de Programación de Bases de Datos

CONSULTAS UTILIZANDO SQL SERVER

Tipo: Ejercicios

2020/2021

Subido el 10/06/2021

adrianaaaav11_
adrianaaaav11_ 🇸🇻

1 documento

1 / 3

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
1. Encontrar el nombre del jugador mas alto, nombre del equipo para el que juega y su respectiva
altura. Y a la vez encontrar quien es el jugador mas bajo, su equipo y su altura. La salida debe
ser similar a lo siguiente, no se admite: utilizar join, ni CASE, ni IFF, ni top 1
select j.Nombre as Nombre,
(select e.Nombre from equipos as e where e.Nombre=j.Nombre_equipo) as
Equipo,
j.Altura as Altura
from jugadores as j
where
j.Altura >= all (select jg.Altura from jugadores as jg)
or j.Altura <= all (select jg.Altura from jugadores as jg)
2. Mostrar los nombres de los jugadores, nombre del equipo a que pertenecen, conferencia y
División, que más puntos haya tenido en una temporada, agrupados por división y conferencia.
Utilice un procedimiento que pase por parámetros la temporada deseada.
create procedure maximoP @tem varchar(5)
as
select j.Nombre, q.Nombre, q.Conferencia, q.Division
from jugadores as j
join equipos as q on j.Nombre_equipo = q.Nombre
join partidos as part on part.equipo_local = q.Nombre
where part.temporada = @tem and
(part.puntos_local + part.puntos_visitante) =
(SELECT MAX(parti.puntos_local + parti.puntos_visitante)
from partidos as parti)
group by q.Conferencia, q.Division, q.Nombre, j.Nombre
exec maximoP 1
3. Hacer una vista (VIEW) que muestre los puntos de cada equipo en los partidos, tanto de local
como de visitante y la suma total de los puntos. Agrupados por conferencia y nombre de equipo.
create view pEquipo
as
select e.Nombre as equipo, e.Conferencia as conferencia,
SUM(par.puntos_visitante) [p visita],
SUM(pe.puntos_local) as [p local],
SUM(par.puntos_visitante + pe.puntos_local) as [total puntos]
from equipos as e
inner join partidos as par on par.equipo_visitante = e.Nombre
inner join partidos as pe on pe.equipo_local = e.Nombre
group by e.Nombre, e.Conferencia
select * from pEquipo
pf3

Vista previa parcial del texto

¡Descarga CONSULTAS SQL SERVER y más Ejercicios en PDF de Programación de Bases de Datos solo en Docsity!

  1. Encontrar el nombre del jugador mas alto, nombre del equipo para el que juega y su respectiva altura. Y a la vez encontrar quien es el jugador mas bajo, su equipo y su altura. La salida debe ser similar a lo siguiente, no se admite: utilizar join, ni CASE, ni IFF, ni top 1 select j.Nombre as Nombre, (select e.Nombre from equipos as e where e.Nombre=j.Nombre_equipo) as Equipo, j.Altura as Altura from jugadores as j where j.Altura >= all (select jg.Altura from jugadores as jg) or j.Altura <= all (select jg.Altura from jugadores as jg)
  2. Mostrar los nombres de los jugadores, nombre del equipo a que pertenecen, conferencia y División, que más puntos haya tenido en una temporada, agrupados por división y conferencia. Utilice un procedimiento que pase por parámetros la temporada deseada. create procedure maximoP @tem varchar(5) as select j.Nombre, q.Nombre, q.Conferencia, q.Division from jugadores as j join equipos as q on j.Nombre_equipo = q.Nombre join partidos as part on part.equipo_local = q.Nombre where part.temporada = @tem and (part.puntos_local + part.puntos_visitante) = (SELECT MAX(parti.puntos_local + parti.puntos_visitante) from partidos as parti) group by q.Conferencia, q.Division, q.Nombre, j.Nombre exec maximoP 1
  3. Hacer una vista (VIEW) que muestre los puntos de cada equipo en los partidos, tanto de local como de visitante y la suma total de los puntos. Agrupados por conferencia y nombre de equipo. create view pEquipo as select e.Nombre as equipo, e.Conferencia as conferencia, SUM(par.puntos_visitante) [p visita], SUM(pe.puntos_local) as [p local], SUM(par.puntos_visitante + pe.puntos_local) as [total puntos] from equipos as e inner join partidos as par on par.equipo_visitante = e.Nombre inner join partidos as pe on pe.equipo_local = e.Nombre group by e.Nombre, e.Conferencia select * from pEquipo
  1. Obtener los puntos máximos y mínimos de los jugadores de la conferencia este, el nombre del equipo al que pertenece, división en la que juega. No se permitirá join. select j.Nombre as jugador, (select e.Nombre from equipos as e where e.Nombre=j.Nombre_equipo) as equipo, (select max(Puntos_por_partido) from estadisticas as ed where ed.jugador=j.codigo) as maxi, (select min(Puntos_por_partido) from estadisticas as ed where ed.jugador=j.codigo) as mini from jugadores as j where j.Nombre_equipo in (select e.Nombre from equipos as e where e.Conferencia like 'Este')
  2. Obtener un informe completo de ventas, indicando el nombre del cajero que realizo la venta, nombre y precio de los productos vendidos, y piso (local) en que se encuentra la máquina registradora que realizo la venta. (sin utilizar join) select (select c.nombre from cajeros c where c.codigo = v.cajero) as cajer, pro.nombre as producto, pro.precio AS precio, m.piso as local from venta v, (select p.nombre, p.precio, p.codigo from productos p ) as pro, maquinas_registradoras m where pro.codigo = v.producto and v.maquina = m.codigo
  3. Obtener el código, nombre de los productos, nombre de los cajeros de aquellos cajeros que hayan realizados ventas en pisos (locales), cuyas ventas totales sean inferior a $500 (no utilice join) select x.codpro AS [cod pro], x.producto AS product, x.codigo AS [cod caja], x.nombre AS cajero, x.ventas_totales AS venta, x.piso AS piso from (select c.codigo, c.nombre, SUM(p.precio) ventas_totales, p.producto, p.codpro, ma.piso from cajeros AS c, (select * from venta)v , (select pr.nombre as producto, pr.codigo as codpro, pr.precio FROM productos pr)p, (SELECT m.piso, m.codigo FROM maquinas_registradoras m) ma where c.codigo=v.cajero and v.producto=p.codpro and v.maquina=ma.codigo group by c.codigo,c.nombre, p.producto, p.codpro, ma.piso)x where x.ventas_totales<