EjerciciosSQL

Páginas: 17 (4122 palabras) Publicado: 5 de abril de 2015
Ejercicios Resueltos de
SQL
Borja Sotomayor
1 de junio de 2002

c Borja Sotomayor, 2002

Este documento ha sido compuesto ´ıntegramente en LATEX.
Para producir el documento se ha utilizado pdfTEX-1.0a de la distribuci´on MiKTEX.
http://www.miktex.org/
Se han utilizado los paquetes amssymb, babel, color, fancybox, fancyvrb, graphicx, hyperref,
ifthen, inputenc, marvosym, scrbook y scrpage(KOMA–Script), titlesec, titletoc, pdfcrypt,
y url.
Los diagramas han sido elaboradas con Microsoft Visio 2002.
http://www.microsoft.com/office/visio/

´Indice general

1. La Tienda de Inform´
atica

1

2. Empleados

7

3. Los Almacenes

13

4. Pel´ıculas y Salas

17

5. Los Directores

19

6. Piezas y Proveedores

23

7. Los Cient´ıficos

27

8. Los Grandes Almacenes

29

9. Los Investigadores

33

3 1
La Tienda de Inform´
atica

ARTICULOS
FABRICANTES
PK

Codigo

int identity

Nombre

nvarchar(100)

PK

Codigo

int identity

FK1

Nombre
Precio
Fabricante

nvarchar(100)
int
int

1.1. Obtener los nombres de los productos de la tienda.
SELECT Nombre FROM ARTICULOS

1.2. Obtener los nombres y los precios de los productos de la tienda.
SELECT Nombre, Precio FROM ARTICULOS

1.3. Obtener el nombre delos productos cuyo precio sea menor o igual a 200 ¤.
SELECT Nombre FROM ARTICULOS WHERE Precio > 200

1.4. Obtener todos los datos de los art´ıculos cuyo precio est´e entre los 60 ¤ y los 120 ¤
(ambas cantidades incluidas).
/* Con AND */
SELECT * FROM ARTICULOS
WHERE Precio >= 60 AND Precio <= 120
/* Con BETWEEN */
SELECT * FROM ARTICULOS
WHERE Precio BETWEEN 60 AND 120

1

1 La Tienda deInform´atica
1.5. Obtener el nombre y el precio en pesetas (es decir, el precio en euros multiplicado
por 166’386)
/* Sin AS */
SELECT Nombre, Precio * 166.386 FROM ARTICULOS
/* Con AS */
SELECT Nombre, Precio * 166.386 AS PrecioPtas FROM ARTICULOS

1.6. Seleccionar el precio medio de todos los productos.
SELECT AVG(Precio) FROM ARTICULOS

1.7. Obtener el precio medio de los art´ıculos cuyo c´odigo defabricante sea 2.
SELECT AVG(Precio) FROM ARTICULOS WHERE Fabricante=2

1.8. Obtener el numero de art´ıculos cuyo precio sea mayor o igual a 180 ¤.
SELECT COUNT(*) FROM ARTICULOS WHERE Precio >= 180

1.9. Obtener el nombre y precio de los art´ıculos cuyo precio sea mayor o igual a 180 ¤
y ordenarlos descendentemente por precio, y luego ascendentemente por nombre.
SELECT Nombre, Precio FROMARTICULOS
WHERE Precio >= 180
ORDER BY Precio DESC, Nombre

1.10. Obtener un listado completo de art´ıculos, incluyendo por cada articulo los datos
del articulo y de su fabricante.
/* Sin INNER JOIN */
SELECT * FROM ARTICULOS, FABRICANTES
WHERE ARTICULOS.Fabricante = FABRICANTES.Codigo
/* Con INNER JOIN */
SELECT *
FROM ARTICULOS INNER JOIN FABRICANTES
ON ARTICULOS.Fabricante = FABRICANTES.Codigo

1.11.Obtener un listado de art´ıculos, incluyendo el nombre del art´ıculo, su precio, y el
nombre de su fabricante.

2

Ejercicios de Bases de Datos

1 La Tienda de Inform´atica

/* Sin INNER JOIN */
SELECT ARTICULOS.Nombre, Precio, FABRICANTES.Nombre
FROM ARTICULOS, FABRICANTES
WHERE ARTICULOS.Fabricante = FABRICANTES.Codigo
/* Con INNER JOIN */
SELECT ARTICULOS.Nombre, Precio, FABRICANTES.Nombre
FROMARTICULOS INNER JOIN FABRICANTES
ON ARTICULOS.Fabricante = FABRICANTES.Codigo

1.12. Obtener el precio medio de los productos de cada fabricante, mostrando solo los
c´odigos de fabricante.
SELECT AVG(Precio), Fabricante FROM ARTICULOS
GROUP BY Fabricante

1.13. Obtener el precio medio de los productos de cada fabricante, mostrando el nombre
del fabricante.
/* Sin INNER JOIN */
SELECT AVG(Precio),FABRICANTES.Nombre
FROM ARTICULOS, FABRICANTES
WHERE ARTICULOS.Fabricante = FABRICANTES.Codigo
GROUP BY FABRICANTES.Nombre
/* Con INNER JOIN */
SELECT AVG(Precio), FABRICANTES.Nombre
FROM ARTICULOS INNER JOIN FABRICANTES
ON ARTICULOS.Fabricante = FABRICANTES.Codigo
GROUP BY FABRICANTES.Nombre

1.14. Obtener los nombres de los fabricantes que ofrezcan productos cuyo precio medio
sea mayor o...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Ejerciciossql

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS