Está en la página 1de 0

E:\mis_documentos\MisClases\Electivaoracle\2011_2P\Taller1\SolucionTaller1.sql martes, 23 de agosto de 2011 03:46 p.m.

--Punto 1--
select s.socio,s.nombre,s.telefono,s.ingreso
from socio s
--Punto 2--
select l.LIBRO,l.TITULO,l.AUTOR,l.NUMPAG
from libro l
--Punto 3--
select count(s.SOCIO) Cantidad_Socios
from socio s
--Punto 4--
select count(l.LIBRO) Cantidad_Libros
from libro l
--Punto 5--
select s.SOCIO, s.NOMBRE, l.LIBRO,l.TITULO,l.AUTOR,l.NUMPAG
from prestamo p, libro l,socio s
where l.LIBRO=p.LIBRO and p.SOCIO=s.socio
order by s.socio asc ,l.titulo asc
--Punto 6--
select s.SOCIO, s.NOMBRE, count( p.libro )
from prestamo p, socio s
where p.SOCIO=s.socio
group by s.SOCIO, s.NOMBRE
order by s.socio asc
--Punto 7--
select total, milibro
from
(select count(p.LIBRO) total, p.LIBRO milibro
from prestamo p
group by p.libro
order by 1 desc) f
where rownum<=1
--Punto 8--
select total, milibro
from
(select count(p.LIBRO) total, p.LIBRO milibro
from prestamo p
group by p.libro
order by 1 asc) f
where rownum<=1
---Otra solucin
select count(p.LIBRO) total, p.LIBRO milibro
from prestamo p
group by p.libro
having count(p.LIBRO)=
( select max(count(LIBRO))
from prestamo
group by libro
)
order by 1 desc
-1-
E:\mis_documentos\MisClases\Electivaoracle\2011_2P\Taller1\SolucionTaller1.sql martes, 23 de agosto de 2011 03:46 p.m.
--Punto 9--
select l.LIBRO,l.TITULO,l.AUTOR,l.NUMPAG
from libro l, prestamo p
where l.libro=p.libro and p.FDEVOLUCION is not null
--Punto 10--
select count(p.LIBRO) Libros_Prestados
from prestamo p
--Punto 11--
select count(p.LIBRO) Libros_Prestados_y_Devueltos
from prestamo p
where p.FDEVOLUCION is not null
--Punto 12--
select l.LIBRO,l.TITULO,l.AUTOR,l.NUMPAG
from libro l, prestamo p
where l.libro=p.libro and p.FDEVOLUCION is null
--Punto 13--
select socio, nombre
from (
select s.socio,s.nombre, count(p.libro) Total_Libro
from prestamo p,socio s
where p.socio=s.socio
group by s.socio,s.nombre,p.libro
order by Total_Libro desc
)
where rownum<=1
--Punto 14--
select distinct s.socio, s.nombre
from prestamo p,socio s
where p.LIBRO=s.socio and p.FPRESTAMO between to_date('01/03/2009','dd/mm/yyyy') and to_date(
'31/03/2009','dd/mm/yyyy')
--Punto 15--
select count(p.libro) Total_Libro
from prestamo p
where p.FPRESTAMO between to_date('01/01/2009','dd/mm/yyyy') and to_date('31/01/2009',
'dd/mm/yyyy')
--Punto 16--
select l.LIBRO,l.TITULO,l.AUTOR,l.NUMPAG,p.FPRESTAMO,p.FDEVOLUCION ,(p.FDEVOLUCION-p.FPRESTAMO)
Tiempo_Dias
from prestamo p, libro l
where p.libro=l.libro
order by tiempo_dias
--Punto 17--
select l.LIBRO,l.TITULO,l.AUTOR,l.NUMPAG,avg( (p.FDEVOLUCION-p.FPRESTAMO)) Tiempo_Dias
from prestamo p, libro l
where p.libro=l.libro and p.FDEVOLUCION is not null
group by l.LIBRO,l.TITULO,l.AUTOR,l.NUMPAG
order by tiempo_dias
--Punto 18--
select l.LIBRO,l.TITULO,l.AUTOR,l.NUMPAG,p.FPRESTAMO,ROUND((SYSDATE-p.FPRESTAMO),0) Tiempo_Dias
from prestamo p, libro l
-2-
E:\mis_documentos\MisClases\Electivaoracle\2011_2P\Taller1\SolucionTaller1.sql martes, 23 de agosto de 2011 03:46 p.m.
where p.libro=l.libro and p.FDEVOLUCION is null
order by tiempo_dias
--Punto 19--
select LIBRO,TITULO,AUTOR,NUMPAG, Cantidad_libros
from
(select l.LIBRO,l.TITULO,l.AUTOR,l.NUMPAG, count(p.libro) Cantidad_libros
from prestamo p, libro l
where p.LIBRO=l.libro
group by l.LIBRO,l.TITULO,l.AUTOR,l.NUMPAG
order by cantidad_libros desc)
where rownum<=3
--Punto 20--
select socio, nombre
from (
select s.socio,s.nombre, count(p.libro) Total_Libro
from prestamo p,socio s
where p.socio=s.socio
group by s.socio,s.nombre,p.libro
order by Total_Libro desc
)
where rownum<=2
--Punto 21--
select s.socio,s.nombre,(p.FDEVOLUCION-p.FPRESTAMO)
from prestamo p,socio s
where p.socio=s.socio and p.FDEVOLUCION is not null and (p.FDEVOLUCION-p.FPRESTAMO)>=2
--Ulitmos dos puntos--
select upper(s.NOMBRE) "Nombre del Socio"
from socio s
select upper(l.LIBRO) Codigo,upper(l.TITULO) "Titulo del libro",upper(l.AUTOR) Autor,upper(l.
NUMPAG) "Cantidad de Paginas"
from libro l
select l.TITULO,SUBSTR(l.titulo,1,3) "Cadena"
from libro l
select s.NOMBRE,s.INGRESO,to_char(s.INGRESO,'dd') dia ,to_char(s.INGRESO,'mm') mes,to_char(s.
INGRESO,'yyyy') ano,to_char(s.INGRESO,'yyyy/mm/dd') fecha
from socio s
---Ultimo punto
select p.LIBRO, l.TITULO, p.SOCIO,s.NOMBRE ,p.FPRESTAMO,nvl(p.FDEVOLUCION,'01/01/1900') Fecha
from prestamo p,socio s,libro l
where p.SOCIO=s.SOCIO and p.LIBRO=l.LIBRO
order by p.FDEVOLUCION desc
-3-

También podría gustarte