Twitter Flickr Pinterest LinkedIn YouTube Google Maps E-mail RSS
formats

Libro gratuito y ejemplos de consultas SQL para aprender y practicar.

Los orígenes del SQL están ligados a los de las bases de datos relacionales. En 1970 E. F. Codd propone el modelo relacional y asociado a este un sublenguaje de acceso a los datos basado en el cálculo de predicados. Basándose en estas ideas, los laboratorios de IBM definen el lenguaje SEQUEL (Structured English Query Language) que más tarde sería ampliamente implementado por el sistema de gestión de bases de datos (SGBD) experimental System R, desarrollado en 1977 también por IBM. Sin embargo, fue Oracle quien lo introdujo por primera vez en 1979 en un programa comercial.

El SEQUEL terminaría siendo el predecesor de SQL, siendo este una versión evolucionada del primero. El SQL pasa a ser el lenguaje por excelencia de los diversos sistemas de gestión de bases de datos relacionales surgidos en los años siguientes y es por fin estandarizado en 1986 por el ANSI, dando lugar a la primera versión estándar de este lenguaje, el «SQL-86» o «SQL1». Al año siguiente este estándar es también adoptado por la ISO.

Sin embargo, este primer estándar no cubre todas las necesidades de los desarrolladores e incluye funcionalidades de definición de almacenamiento que se consideró suprimirlas. Así que, en 1992, se lanzó un nuevo estándar ampliado y revisado del SQL llamado «SQL-92» o «SQL2».

En la actualidad el SQL es el estándar de facto de la inmensa mayoría de los SGBD comerciales. Y, aunque la diversidad de añadidos particulares que incluyen las distintas implementaciones comerciales del lenguaje es amplia, el soporte al estándar SQL-92 es general y muy amplio.

El ANSI SQL sufrió varias revisiones y agregados a lo largo del tiempo.

Estas son las consultas para el aprendizaje con SQL-92 genérico.

1. Cuantas veces se ha alquilado el/los libro/s más caro y el título del mismo.

Select count(*), titulo
from libro l, prestamo p
where l.numero_libro=p.numero_libro and precio =(select * max(precio) from libro)
group by p.numero_libro, titulo; 

2. Título del libro que pasó más tiempo sin estrenarse en la biblioteca.

Select titulo
from libro l, prestamo p
where l.numero_libro=p.numero_libro
group by p.numero_libro,titulo
having min(fecha_prestamo) – fecha_compra >= All (Select min(fecha_prestamo)- fecha_compra from libro l, prestamo p where l.numero_libro=p.numero_libro group by p.numero_libro, fecha_compra)

Alternativa:

Select titulo, min(fecha_prestamo) primera_vez, fecha_compra
from libro l, prestamo p
where l.numero_libro=p.numero_libro
group by p.numero_libro,titulo,fecha_compra
into temp t1;
select titulo
from t1
where primera – fecha_compra>= select max (primera-fecha_compra)

 

3. Nombre de los socios que han alquilado algún libro de Cela pero nunca han alquilado un libro de Delibes.

Select nombre
from socio s, prestamo p, libro l
where s.dni_socio=p.dni_socio and p.num_libro= l.num_libro and autor=»Cela» and p.dni_socio <> all(select p.dni_socio from prestamo p, libro l, socio s where s.dni_socio=p.dni_socio and p.num_libro = l.num_libro and autor = «Delibes»)

 

4. País del que tenemos más libros (sin contar España).

Select pais
from libro
where pais<>»España»
group by pais
having count(*)>= all (select count(*) from libro where pais <> «España» group by pais) 

Nota: Por favor, recuerda si te ha gustado, puedes contribuir con aportaciones publicitarias,  para cafés al menos ;-)

5. Nombre de las editoriales de las cuales no se ha alquilado ni un sólo libro.

Select editorial
from libro
where editorial<> all (select editorial from libro l, prestamo where l.num_libro=p.num_libro) 

Descarga el Libro de ejemplos SQL en pdf
Nota: Por favor, recuerda si te ha gustado, puedes contribuir con aportaciones publicitarias,  para cafés al menos ;-)


Usted debe ser Registrado para publicar un cometario

Home Bases de datos Libro gratuito y ejemplos de consultas SQL para aprender y practicar.
© www.palentino.es, desde el 2012 - Un Blog para compartir conocimientos ...

Uso de cookies en mi sitio palentino.es

Este sitio web utiliza cookies para que tengamos la mejor experiencia de usuario. Si continúas navegando estás dando tu consentimiento para la aceptación de las mencionadas cookies y la aceptación de la política de cookies

ACEPTAR
Aviso de cookies