consultas sql lorem PDF

Title consultas sql lorem
Author Deimer Orjuela
Course Programador anual obligaciones laborales GA3-210303022-AA1-EV02.
Institution Corporación Universitaria U de Colombia
Pages 44
File Size 3.3 MB
File Type PDF
Total Downloads 256
Total Views 719

Summary

Download consultas sql lorem PDF


Description

TRABAJO DE CONSULTAS SQL

PRESENTADO POR: DANA MARIA MONTIEL VALENTINA FUENTES MEJIA

PRESENTADO A: RUBEN BAENA

ASIGANATURA: DISEÑO Y PROGRAMACION DE BASE DE DATOS

DEPARTAMENTO Y FACULTAD DE INGENIERIA INGENIERIA DE SISTEMAS UNIVERSIDAD DE CORDOBA

2021

1

Tra Traba ba bajo jo co con nsu sulta lta ltass SQL 1.1. 1.1.11

Mo Model del delo o en entid tid tidad ad ad/r /r /relac elac elación ión

1. 1.1.2 1.2 Base de datos par ara a MySQ MySQL L DRO DROP P DATABASE IF EX EXISTS ISTS tienda; CREA CREATE TE DATABASE tienda CHAR HARACTER ACTER SET utf8mb4; USE tienda; CREA CREATE TE TABLE fabricante ( codigo I NT UNSIGNED AUTO_INCREMENT PR PRIMA IMA IMARY RY KEY KEY, nombre VARCHA VARCHAR R(100) NOT NULL ); CREA CREATE TE TABLE producto ( codigo I NT UNSIGNED AUTO_INCREMENT PRIM PRIMARY ARY KEY KEY,

NULL, nombre VARCHA VARCHAR R(100) NOT NULL precio DOUBLE NO NOT TN NULL ULL ULL, codigo_fabricante INT UNSIGNED NOT N NULL ULL ULL, FOREI FOREIGN GN K KEY EY (codigo_fabricante) REFERENCES fabricante(codigo) ); INSER INSERT T INT INTO O fabricante INSER INSERT T INT INTO O fabricante INSER INSERT T INT INTO O fabricante INSER INSERT T INT INTO O fabricante INSER INSERT T INT INTO O fabricante INSE INSERT RT INTO fabricante INSER INSERT T INT INTO O fabricante INSER INSERT T INT INTO O fabricante INSER INSERT T INT INTO O fabricante

VALUE VALUES S(1, VALUE VALUES S(2, VALUE VALUES S(3, VALUE VALUES S(4, VALUE VALUES S(5, VALU VALUES ES ES(6, VALUE VALUES S(7, VALUE VALUES S(8, VALUE VALUES S(9,

'Asus'); 'Lenovo'); 'Hewlett-Packard'); 'Samsung'); 'Seagate'); 'Crucial'); 'Gigabyte'); 'Huawei'); 'Xiaomi');

INSER INSERT T INT INTO O producto VALUES VALUES(1, 'Disco duro SATA3 1TB', 86.99, 5); INSER INSERT T INT INTO O producto VALUES VALUES(2, 'Memoria RAM DDR4 8GB', 120, 6); INSER INSERT T INT INTO O producto VALUES VALUES(3, 'Disco SSD 1 TB', 150.99, 4); INSERT INTO producto VALU VALUES ES ES(4, 'GeForce GTX 1050Ti', 185, 7);

2

INSER INSERT T INT INTO O producto INSER INSERT T INT INTO O producto INSER INSERT T INT INTO O producto INSER INSERT T INT INTO O producto INSER INSERT T INT INTO O producto INSER INSERT T INT INTO O producto INSER INSERT T INT INTO O producto

VALUES VALUES(5, 'GeForce GTX 1080 Xtreme', 755, 6); VALUES VALUES(6, 'Monitor 24 LED Full HD', 202, 1); VALUES VALUES(7, 'Monitor 27 LED Full HD', 245.99, 1); VALUES VALUES(8, 'Portátil Yoga 520', 559, 2); VALUES VALUES(9, 'Portátil Ideapd 320', 444, 2); VALUES VALUES(10, 'Impresora HP Deskjet 3720', 59.99, 3); VALUES VALUES(11, 'Impresora HP Laserjet Pro M26nw', 180, 3);

3

1. 1.1.3 1.3 Con Consult sult sultas as sobre una ttabla abla 1.

Lista el nombre de todos los productos que hay en la tabla producto. SELECT nombre FROM product

2.

Lista los nombres y los precios de todos los productos de la tabla producto. SELECT nombre, precio FROM producto

4

3.

Lista todas las columnas de la tabla producto. SELECT *FROM producto

4.

Lista el nombre de los productos, el precio en euros y el precio en dólares estadounidenses (USD). SELECT nombre, precio*1.17, precio FROM producto

5.

Lista el nombre de los productos, el precio en euros y el precio en dólares estadounidenses (USD). Utiliza los siguientes alias para las columnas: nombre de producto, euros, dólares. SELECT nombre AS 'nombre de producto', precio AS euros, precio * 1.17 AS dólares FROM producto

5

6.

Lista los nombres y los precios de todos los productos de la tabla producto, convirtiendo los nombres a mayúscula. SELECT UPPER (nombre), precio FROM producto

7.

Lista los nombres y los precios de todos los productos de la tabla producto, convirtiendo los nombres a minúscula. SELECT lower(nombre), precio FROM producto

8.

Lista el nombre de todos los fabricantes en una columna, y en otra columna obtenga en mayúsculas los dos primeros caracteres del nombre del f abricante. SELECT nombre, UPPER (substr(nombre, 1, 2)) FROM fabricante

6

9.

Lista los nombres y los precios de todos los productos de la tabla producto , redondeando el valor del precio. SELECT nombre, ROUND(precio) FROM producto

10. Lista los nombres y los precios de todos los productos de la tabla producto, truncandoel valor del precio para mostrarlo sin ninguna cifradecimal. SELECT nombre, truncate(precio,0) FROM producto

11. Lista el código de los fabricantes que tienen productos en la tabla producto. SELECT codigo_fabricante FROM producto

7

12. Lista el código de los fabricantes que tienen productos en la tabla producto, eliminando los códigos que aparecen repetidos. SELECT distinct codigo_fabricante FROM producto

13. Lista los nombres de los fabricantes ordenados de forma ascendente. SELECT nombre FROM fabricante ORDER BY `fabricante`.`nombre` ASC

14. Lista los nombres de los fabricantes ordenados de forma descendente. SELECT nombre FROM fabricante ORDER BY nombre DESC

8

15. Lista los nombres de los productos ordenados en primer lugar por el nombre de forma ascendente y en segundo lugar por el precio de forma descendente. SELECT nombre, precio FROM producto ORDER BY `producto`.`precio` DESC

16. Devuelve una lista con las 5 primeras filas de la tabla fabricante. SELECT *FROM fabricante LIMIT 5

17. Devuelve una lista con 2 filas a partir de la cuarta fila de la tabla fabricante. La cuarta fila también se debe incluir en la respues ta. SELECT *FROM fabricante LIMIT 3, 2

18. Lista el nombre y el precio del producto más barato. (Utilice solamente las cláusulas ORDER BY y LIMIT) SELECT nombre, precio FROM producto ORDER BY precio ASC LIMIT 1

19. Lista el nombre y el precio del producto más caro. (Utilice solamente las cláusulas ORDER BY y LIMIT) SELECT nombre, precio FROM producto ORDER BY precio DESC LIMIT 1

9

20. Lista el nombre de todos los productos del fabrican te cuyo código de fabricante es igual a 2. SELECT nombre FROM producto WHERE codigo_fabricante=2

21. Lista el nombre de los productos que tienen un precio menor o igual a 120€. SELECT nombre FROM producto WHERE precio = 400

23. Lista el nombre de los productos que no tienen un precio mayor o igual a 400€. SELECT nombre FROM producto WHERE NOT precio >= 400

10

24. Lista todos los productos que tengan un precio entre 80€ y 300€. Sin utilizar el operador BETWEEN. SELECT *FROM producto WHERE precio >= 80 AND precio = 200 AND codigo_fabricante=6

27. Lista todos los productos donde el código de fabricante sea 1, 3 o 5. Sin utilizar eloperador IN. SELECT *FROM producto WHERE codigo_fabricante=1 OR codigo_fabricante=3 OR codigo_fabricante=5

11

28. Lista todos los productos donde el código de fabricante sea 1, 3 o 5. Utilizando eloperador IN. SELECT *FROM producto WHERE codigo_fabricante IN (1,3,5)

29. Lista el nombre y el precio de los productos en céntimos (Habrá que multiplicar por100 el valor del precio). Cree un alias para la columna que contiene el precio que se llame céntimos. SELECT nombre, precio * 100 AS céntimos FROM producto

30. Lista los nombres de los fabricantes cuyo nombre empiece por la letra S. SELECT nombre FROM fabricante WHERE nombre LIKE 'S%'

31. Lista los nombres de los fabricantes cuyo nombre termine por la vocal e. SELECT nombre FROM fabricante WHERE nombre like '%e'

32. Lista los nombres de los fabricantes cuyo nombre contenga el carácter w. SELECT nombre FROM fabricante WHERE nombre like '%w%'

12

33. Lista los nombres de los fabricantes cuyo nombre sea de 4 caracteres. SELECT nombre FROM fabricante WHERE LENGTH (nombre) = 4

34. Devuelve una lista con el nombre de todos los productos que contienen la cadena Portátil en el nombre. SELECT nombre FROM producto WHERE nombre LIKE '%Portátil%'

35. Devuelve una lista con el nombre de todos los productos que contienen la cadena Monitor en el nombre y tienen un precio inferior a 215 €. SELECT nombre FROM producto WHERE nombre LIKE '%Monitor%' AND precio < 215

36. Lista el nombre y el precio de todos los productos que tengan un precio mayor o igual a 180€. Ordene el resultado en primer lugar por el precio (en orden descenden te) y en segundo lugar por el nombre (en orden ascendente). SELECT nombre, precio FROM producto WHERE precio >= 180 ORDER BY precio DE SC, nombre ASC

13

1. 1.1.4 1.4 Cons Consult ultas mul multita tita titabla bla (C (Comp omp omposic osic osición ión in intter erna na na)) Resuelva:. 1.

Devuelve una lista con el nombre del producto, precio y nombre de fabricante de todos losproductos de la base de da tos. SELECT producto. nombre, precio, fabricante. nombre FROM producto INNE R JOIN fabricante ON producto. codigo_fabricante = fabricante. codigo

2.

Devuelve una lista con el nombre del producto, precio y nombre de fabricante de todos losproductos de la base de datos. Ordene el resultado por el nombre del fabricante, por ordenalfabético. SELECT producto. nombre, precio, fabricante. nombre FROM producto INNE R JOIN fabricante ON producto. codigo_fabricante = fabricante. codigo ORDER BY fabricante. nombre ASC

14

3.

Devuelve una lista con el código del producto, nombre del producto, código del fabricante y nombredel fabricante, de todos los productos de la base de datos. SELECT producto. codigo, producto. nombre, fabricante. codigo, fabrica nte. nombre FROM producto INNER JOIN fabricante ON producto. codigo_fa bricante = fabricante. codigo

4.

Devuelve el nombre del producto, su precio y el nombre de su fabricante, del producto másbarato SELECT producto. nombre, precio, fabricante. nombre FROM producto INNER JOIN fabricante ON producto. codigo_fabricante = fabricante. codigo WHE RE precio = (SELECT MIN(precio) FROM producto)

5.

Devuelve el nombre del producto, su precio y el nombre de su fabricante, del producto más caro . SELECT producto. nombre, precio, fabricante.nombre FROM producto INNER JOIN fabricante ON producto. codigo_fabricante = fabricante.codigo WHER E precio = (SELECT MAX(precio) FROM producto)

6.

Devuelve una lista de todos los productos del fabricante Lenovo. SELECT producto.nombre, fabricante.nombre FROM producto INNER JOIN fabr icante ON producto.codigo_fabricante = fabricante.codigo WHERE fabrican te.nombre ='Lenovo'

15

7.

Devuelve una lista de todos los productos del fabricante Crucial que tengan un precio mayor que 200€. SELECT producto.nombre, precio,fabricante.nombre FROM producto INNER JO IN fabricante ON producto.codigo_fabricante = fabricante.codigo WHERE f abricante.nombre ='Crucial'AND precio >200

8.

Devuelve un listado con todos los productos de los fabricantes Asus,Hewlett-Packard y Seagate. Sin utilizar el operador IN. SELECT producto.nombre, fabricante.nombre FROM producto INNER JOIN fab ricante ON producto.codigo_fabricante = fabricante.codigo WHERE fabric ante.nombre ='Asus' OR fabricante.nombre='HewlettPackard' OR fabricante.nombre='Seagate'

9.

Devuelve un listado con todos los productos de los fabricantes Asus, Hewlett-Packardy Seagate. Utilizando el operador IN. SELECT producto.nombre,fabricante.nombre FROM producto INNER JOIN fabri cante ON producto.codigo_fabricante = fabricante.codigo WHERE fabricant e.nombre IN ('Asus','Hewlett-Packard','Seagate')

10. Devuelve un listado con el nombre y el precio de todos los productos de los fabricantes cuyo nombre termine por la vocal e. SELECT producto.nombre,precio,fabricante.nombre FROM producto INNER JO IN fabricante ON producto.codigo_fabricante = fabricante.codigo WHERE fabricante.nombre like '%e'

16

11. Devuelve un listado con el nombre y el precio de todos los product os cuyo nombre de fabricante contenga el carácter w en su nombre. SELECT producto.nombre,precio,fabricante.nombre FROM producto INNER JO IN fabricante ON producto.codigo_fabricante = fabricante.codigo WHERE fabricante.nombre like '%w%'

12. Devuelve un listado con el nombre de producto, precio y nombre de fabricante, de todos losproductos que tengan un precio mayor o igual a 180€. Ordene elresultado en primer lugar por el precio (enorden descenden te) y en segundo lugar por el nombre (en orden ascendente) SELECT producto.nombre,precio,fabricante.nombre FROM producto INNER JO IN fabricante ON producto.codigo_fabricante = fabricante.codigo WHERE precio>=180 ORDER BY precio DESC,fabricante.nombre ASC

13. Devuelve un listado con el código y el nombre de fabricante, solamente de aquellos fabricantes que tienen productos asociados en la base de datos. SELECT distinct codigo_fabricante,fabricante.nombre FROM producto INNER JOIN fabricante ON producto.codigo_fabricante = fabricante.codigo

17

1. 1.1.5 1.5 Con Consult sult sultas as multi ultittab abla la (Com (Compos pos posici ici ición ón extern terna) a) Resuelva todas las consultas utilizando las cláusulas LEFT JOIN y RIGHT JOIN. 1.

odos os los fabricantes que existen en la base de datos, junto con losproductos que Devuelve un listado de tod tiene cada uno de ellos. El listado deberá mostrar también aquellos fabricantes que no tienen productos asociados. SELECT fabricante.nombre AS nom_fabricante ,producto.nombre FROM produ cto RIGHT JOIN fabricante ON producto.codigo_fabricante = fabricante.c odigo

2.

Devuelve un listado donde sólo aparezcan aquellos fabricantes que no tienen ningún producto asociado. SELECT fabricante.nombre FROM fabricante LEFT JOIN producto ON fabrican te.codigo != producto.codigo_fabricante WHERE NOT fabricante.codigo = A NY ( SELECT producto.codigo_fabricante FROM producto) LIMIT 10,2

3. ¿Pueden existir productos que no estén relacionados con un fabricante? Justifique su respuesta.

R/ no,ya que todo product existente en la tienda debe tener un origen y un fabricante ademas no pueden existir ya que la relación en el modelo relacional es de 1 a muchos. esto significa que un producto puede ser creado por un mínimo de 1 fabricante .

18

1. 1.1.6 1.6 Cons Consult ultas res resume ume umen n 1.

Calcula el número total de productos que hay en la tabla productos. SELECT COUNT(*) FROM producto

2.

Calcula el número total de fabricantes que hay en la tabla fabricante. SELECT COUNT(*) FROM fabricante

3.

Calcula el número de valores distintos de código de fabricante aparecen en la tabla productos. SELECT COUNT(DISTINCT codigo_fabricante) FROM producto

4.

Calcula la media del precio de todos los productos. SELECT AVG(precio) FROM producto

5.

Calcula el precio más barato de todos los productos. SELECT MIN(precio) FROM producto

6.

Calcula el precio más caro de todos los productos. SELECT MAX(precio) FROM producto

7.

Lista el nombre y el precio del producto más barato. SELECT nombre, precio FROM producto WHERE precio = (SELECT MIN(precio) FROM producto)

8.

Lista el nombre y el precio del producto más c aro. SELECT nombre, precio FROM producto WHERE precio = (SELECT MAX(precio) FROM producto)

9.

Calcula la suma de los precios de todos los productos. SELECT SUM(precio) FROM producto

19

10. Calcula el número de productos que tiene el fabricante Asus . SELECT COUNT(producto.codigo) FROM fabricante INNER JOIN producto ON fa bricante.codigo = producto.codigo_fabricante WHERE fabricante.nombre = 'Asus'

11. Calcula la media del precio de todos los productos del fabricante Asus. SELECT AVG(producto.precio) FROM fabricante INNER JOIN producto ON fabr icante.codigo = producto.codigo_fabricante WHERE fabricante.nombre = 'A sus'

12. Calcula el precio más barato de todos los productos del fabricante Asus. SELECT MIN(producto.precio) FROM fabricante INNER JOIN producto ON fabr icante.codigo = producto.codigo_fabricante WHERE fabricante.nombre = 'A sus'

13. Calcula el precio más caro de todos los productos del fabricante Asus. SELECT MAX(producto.precio) FROM fabricante INNER JOIN producto ON fabr icante.codigo = producto.codigo_fabricante WHERE fabricante.nombre = 'A sus'

14. Calcula la suma de todos los productos del fabrican te Asus. SELECT SUM(producto.precio) FROM fabricante INNER JOIN producto ON fabr icante.codigo = producto.codigo_fabricante WHERE fabricante.nombre = 'A sus'

15. Muestra el precio máximo, precio mínimo, precio medio y el número total de productos que tiene el fabricante Crucial . SELECT MAX(producto.precio), MIN(producto.precio), AVG(producto.precio) , COUNT(producto.codigo) FROM fabricante INNER JOIN producto ON fabrica nte.codigo = producto.codigo_fabricante WHERE fabricante.nombre = 'Cruc ial'

20

16. Muestra el número total de productos que tiene cada uno de los fabricantes. El listado también debe incluir los fabricantes que no tienen ningún producto. El resultado mostrará dos columnas, una con el nombre del fabricante y otra con el número de productos que tiene. Ordene el resultado desc endentemente por el número de productos. SELECT fabricante.nombre, COUNT(producto.codigo) FROM fabricante LEFT JOIN producto ON producto.codigo_fabricante = fabricante.codigo GROUP BY fabricante.codigo ORDER BY 2 DESC

17. Muestra el precio máximo, precio mínimo y precio medio de losproductos de cada uno de los fabricantes. El resultado mostrará el nombre del fabricante junto con los datos que sesolicitan. SELECT fabricante.nombre, MAX(producto.precio), MIN(producto.precio), AV G(producto.precio) FROM fabricante INNER JOIN producto ON producto.codig o_fabricante = fabricante.codigo GROUP BY fabricante.codigo

18. Muestra el precio máximo, precio mínimo, precio medio y el número total de productos de los fabricantes que tienen un precio medio superior a 200€. No es necesario mostrar el nombre del fabricante, con el código del fabricante es suficiente. SELECT codigo_fabricante, MAX(precio), MIN(precio), AVG(precio), COUNT (*) FROM producto GROUP BY codigo_fabricante HAVING AVG(precio) > 200

21

19. Muestra el nombre de cada fabricante, junto con el precio máximo, precio mínimo, precio medio y el número total de productos de los fabricantes que tienen un precio medio superior a 200€. Esnecesario mostrar el nombre del fabricante. SELECT fabricante.nombre, MAX(producto.precio), MIN(producto.precio), AVG(producto.precio), COUNT(*) FROM producto INNER JOIN fabricante ON producto.codigo_fabricante = fabricante.codigo GROUP BY fabricante.cod igo HAVING AVG(producto.precio) > 200

20. Calcula el número de productos que tienen un precio mayor o igual a 180€. SELECT COUNT(*) FROM producto WHERE precio >= 180

21. Calcula el número de productos que tiene cada fabricante con un precio mayor o igual a 180€. SELECT fabricante.nombre, COUNT(*) FROM producto INNER JOIN fabricante ON producto.codigo_fabricante = fabricante.codigo WHERE producto.precio >= 180 GROUP BY producto.codigo_fabricante

22. Lista el precio medio los productos de cada fabricante, mostrando solamente el código del fabricante SELECT AVG(precio), codigo_fabricante FROM producto GROUP BY codigo_fab ricante.

22

23. Lista el precio medio los productos de cada fabricante, mostrando solamente el nombre del fabricante. SELECT AVG(precio), fabricante.nombre FROM producto INNER JOIN fabrican te ON...


Similar Free PDFs