ingenieria

Páginas: 17 (4002 palabras) Publicado: 20 de julio de 2014
Ejercicios Resueltos de
SQL
Borja Sotomayor
1 de junio de 2002

c Borja Sotomayor, 2002

A
Este documento ha sido compuesto ´
ıntegramente en L TEX.
Para producir el documento se ha utilizado pdfTEX-1.0a de la distribuci´n MiKTEX.
o
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´tica
a

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

278. Los Grandes Almacenes

29

9. Los Investigadores

33

3

1
La Tienda de Inform´tica
a

ARTICULOS
FABRICANTES

PK

Codigo

int identity

Nombre
Precio
Fabricante

nvarchar(100)
int
int

int identity

Nombre

Codigo

FK1

PK

nvarchar(100)

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

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

1.3. Obtener el nombre de los 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´ entre los 60 ¤ y los 120 ¤
e
(ambas cantidades incluidas).
/* Con AND */
SELECT * FROM ARTICULOS
WHERE Precio>= 60 AND 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 FROM ARTICULOS
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 sufabricante.
/* 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´tica
a

/* 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
FROM ARTICULOS INNER JOIN FABRICANTES
ON ARTICULOS.Fabricante = FABRICANTES.Codigo

1.12. Obtener el precio medio de los productos decada fabricante, mostrando solo los
c´digos de fabricante.
o
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 BYFABRICANTES.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 igual a 150 ¤.
/* Sin INNER JOIN */
SELECT AVG(Precio), FABRICANTES.Nombre
FROM ARTICULOS, FABRICANTES
WHEREARTICULOS.Fabricante = FABRICANTES.Codigo
GROUP BY FABRICANTES.Nombre
HAVING AVG(Precio) >= 150
/* Con INNER JOIN */
SELECT AVG(Precio), FABRICANTES.Nombre
FROM ARTICULOS INNER JOIN FABRICANTES
ON ARTICULOS.Fabricante = FABRICANTES.Codigo
GROUP BY FABRICANTES.Nombre
HAVING AVG(Precio) >= 150

Ejercicios de Bases de Datos

3

1 La Tienda de Inform´tica
a
1.15. Obtener el nombre y...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Ingenieria
  • Ingenieria
  • Ingenieria
  • Ingeniería
  • Ingenieria
  • Ingenieria
  • La ingenieria
  • Ingenieria

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS