0 calificaciones0% encontró este documento útil (0 votos) 7 vistas7 páginasSQL 1
Derechos de autor
© All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido,
reclámalo aquí.
Formatos disponibles
Descarga como PDF o lee en línea desde Scribd
1 Ejercicios. Realizacién de consultas SQL
1.1 Tienda de informatica
1.1.1 Modelo entidad/retacién
{codigo INT(10)
© nombre VARCHAR 100)
a
¥ codigo INT(10)
nombre VARCHAR(100)
© precio DOUBLE
© cosigo_fabricanto INT(10)
| >
1.1.2 Base de datos para MySQL
DROP DATABASE IF EXISTS tienda;
CREATE DATABASE tienda CHARACTER SET utfanb4;
USE tienga;
CREATE TABLE fabricante (
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
nombre VARCHAR(1¢0) NOT NULL
CREATE TABLE producto (
id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
nombre VARCHAR(166) HOT NULL,
precio DOUBLE NOT NULL,
id_fabricante INT UNSIGNED NOT NULL,
FORETGN KEY (id_fabricante) REFERENCES fabricante(id)
INSERT INTO fabricante VALUES(1, ‘Asus')}
INSERT INTO fabricante VALUES(2, ‘Lenovo');
INSERT INTO fabricante VALUES(3, ‘Hewlett-Packard');
INSERT INTO fabricante VALUES(4, ‘Sansung')}
INSERT INTO fabricante VALUES(S, 'Seagate')INSERT INTO fabricante VALUES(6, ‘crucial')s
INSERT INTO fabricante VALUES(7, 'Gigabyce');
INSERT INTO fabricante VALUES(8, ‘Huawei');
INSERT INTO fabricante VALUES(9, 'Xiaoni');
INSERT INTO producto VALUES(1, ‘Disco duro SATA3 17", 86.99, 5);
INSERT INTO producto VALUES(2, 'Menoria RAM DDR4 ScB', 120, 6);
INSERT INTO producto VALUES(3, ‘Disco SSO 1 TB", 150.99, 4);
INSERT INTO producto VALUES(4, ‘GeForce GTX 1050T:", 185, 7);
INSERT INTO producto VALUES(S, ‘Geforce GIX 1080 Xtrene', 755, 6);
INSERT INTO producto VALUES(6, ‘Monitor 24 LED Full HD", 202, 2)5
INSERT INTO producto VALUES(7, ‘Monitor 27 LED Full HO", 245.99, 1);
INSERT INTO producto VALUES(8, 'Portstil Yoga 520', 559, 2);
INSERT INTO producto VALUES(9, 'Portétil Tdeapd 325", 444, 2);
INSERT INTO producto VALUES(18, ‘Inpresora HP Deskjet 3720', 59.99, 3);
INSERT INTO producto VALUES(11, ‘Inpresora HP Laserjet Pro N2snu', 188, 3);
1.1.3 Consuttas sobre una tabla
1, Lista el nombre de todos los productos que hay en a tabla producto.
2. Lista los nombres y los precios de todos los productos de la tabla producto
3. Lista todas las columnas dela tabla product.
4. Lista el nombre de los productos, el precio en euros el preci en délaresestadounidenses (USD)
5. Lista el nombre de os productos, el precio en euros y el precio en délares estadounidenses (USO). Utliza
los siguientes alias para las columnas: nombre de producto, euros, délares.
6, Lista los nombres y os precios de todos los productos de la tabla producto, convirtiendo los nombres
a mayiiscula
7. Lista los nombres y os precios de todos los productos de la tabla producto, convirtiendo los nombres
a mindscula,
8, Lista el nombre de todos los fabricantes en una columna, y en otra columna obtenga en mayisculas los
dos primeros caracteres del nombre del fabricante
9, Lista los nombres y os precios de todos los productos dela tabla producto, redondeands el valor det
precio,
10. Lista los nombres y los precios de todos los productos de la tabla producto, truncando el valor del
precio para mostratlo sin ninguna cifra decimal
11. Lista elidentificador de los fabricantes que tienen productos en a tabla producto,
12, Lista elidentificadorde os febricantes que tienen productos ena tabla producto, eliminando los iden
tificadores que aparecen repetidos
13, Lista los nombres de los abricantes ordenados de forma ascendente.
14, Lista los nombres de los fabricantes ordenados de forma descendente.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
16, Devuelve una lista con las 5 primeras filas de la tabla Fabricante.
17. Devuelve una lista con 2 filas a partir de la cuarta filade la tabla fabricante, La cuarta fila también se
debe incluir en la respuesta,
18, Listaelnombrey el precio del producto més barato.(Utilicesolamentelas cldusulas ORDER BYy LIMIT)
18, Lista el nombre y el precio del producto més caro (Utilice solamente las cliusulas ORDER BY y LIMIT)
20, Lista elnombre de todos los productos del fabricante cuyo identficador de fabrcante es igual a2
21, Lista elnombre de los productos que tienen un precio menor o igual a 1206
22, Lista elnombre de los productos que tienen un precio mayor o igual a 4006
23, Lista elnombre de los productos que me tienen un precio mayor o igual a 4006.
24, Lista todos los productos que tengan un precio entre 80€ y 300€. Sin utilizar el operador BETWEEN
25, Lista todos los productos que tengan un precio entre 60€ y 2006. Utilizando el operador BETWEEN
26. Lista todos los productos que tengan un precio mayor que 200€ y que el identificador de fabricante sea
igualas.
27, Lista todos los productos donde el identificador de fabricante se 1, 3 05, Sin utilizar el operador 1N,
28. Lista todos los productos donde el identiicador de fabricante sea 1, 205. Uilizando el operador IN.
28, Lista elnombreyel precio delos productos en céntimos (Habré que multilicar por 100 elvalor del precio)
Cree un alias para la columna que cantiene el precio que se llame cént mos.
30. Lista los nombres de os fabricantes cuyo nombre empiece por a letra S.
31. Lista los nombres de os fabricantes cuyo nombre termine por a vocal e
32, Lista los nombres de os fabricantes cuyo nombre contenga el cardcter
23, Lista los nombres de os fabricantes cuyo nombre sea de 4 caracteres,
224, Devuelve na lista con el nombre de todos las productos que contienen la cadena Por t&tiLenelnom=
bre.
35. Devuelve una lista con elnombre de todos los productos que contienen|acadenaion itor enel nombre
ytienen un precio inferior a215 €.
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 descendente) y en segundo lugar por el nombre (en
orden ascendente)
1.1.4 Consultas multitabla (Composi1. Devuelve una lista con el nombre del producto, precio y nombre de fabricante de todos los productos de
la base de datos.
2, Devuelve una lsta con el nombre del producto, precio y nombre de fabricante de todos los productos de
la base de datos. Ordene el resultado por el nombre del fabricante, por orden alfabético,
2. Devuelve una lista con el identificador del producto, nombre del producto, identificador del fabricante y
nombre del fabricante, de todos los productos de la base de datos,
4. Devuelve et nombre del producto, su precio yel nombre de su fabrcante, del producto més barato
5. Dewuelve el nombre del producto, supreco y el nombre de su fabricante, del producto més caro
6. Devuelveunalista de todos los productos del fabricante Lenovo.
1, Devuelve una lista de todos los productos del fabricante Cric‘alque tenganun precio mayor que 2006.
8, Devuelve un lstado con todos los productos de los fabricantes Asus, Hewlett~Packardy Seagate,
Sin utilizar el operador 18,
8, Devuelve un lstad con todos los productos de los fabricantes Asus, Hewlett~Packardy Seagate,
Utilzando el operadar 28
10, Devuelve un listado con el nombre y el precio de todos los productos de los fabricantes cuyo nombre
termine porla vocal
11. Devuelve un istado con el nombre yl precio de todoslos productos cuye nombre de fabricant
el carécterw en su nombre.
‘contenga
12. Devuelve un listado con el nombre de producto, precio y nombre de fabricante, de todos los productos
{que tengan un precio mayor o igual a 1806, Ordene el resultado en primer lugar por el precio (en orden
descendente) y en segundo lugar par el nombre (en orden ascendente)
12, Devuelve unlistado con elidentificador yel nombre de fabricante, solamente de aquellos fabricantes que
tienen productos asociados en la base de datos.
1.1.5 Consultas multitabla (Composicién externa)
Resvelva todas las consultas utiizando las cldusulas LEFT JOINy RIGHT JOIN,
1. Devuelve un listado de todos los fabricantes que existen en la base de datos, junto con los productos que
tiene cada uno de ellos. El lstado deberd mostrar también aquellos fabricantes que no tienen productos
asociados,
2, Devuelve un listado donde sélo aparezcan aquellos fabricantes que no tienen ningtin praducte asociado,
3, @Pueden exist productos que no estén relacionados con un fabricante? Justifique su respuesta,
1.1.6 Consultas resumen
1. Caleula el nimere total de productos que hay en la tabla productos,1o.
aL
2.
18.
“
1s,
16,
v7.
18,
1s,
20,
a,
2,
23,
24,
25,
Caleula el ndmero total de fabricantes quehay ena table fabricante.
Calcul e mero de valores distintos de identificador de fbricante aparecen en a tabla productos
Caleula la media del precio de todos los productos
Calcula el precio mis barato de todos los productos.
Caleulael precio més caro de todos los productos
més barato,
Lista el nombre y el precio del produ
Lista el nombre y el precio del producto més caro,
Calela la suma de os precios de todos los productos
Caleula e nimero de productos que tiene el fabricante Asus,
Calcula fa media del precio de todos ls productos del fabricante Asus
Calcula el precio més barato de todos los productos del fabricante Asus
Calcul el precio més caro de todos los productos del fabricante Asus.
Caleulalasuma de todos los productos del abricante Asus.
Muestra el precio méximo, precio minimo, precio media y el niimero total de productos que tiene el fa-
brieante Crucial,
Muestra el nimero total de productos que tiene cada uno de los fabricantes, El listade también debe
inclur los fabricantes que no tienen ningin 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 descendente-
mente por el niimera de productos.
Muestra el precio méximo, precio minimoy precio medio de los productos de cada uno de los fabricantes.
ELresultado mostrard el nombre del fabricante junto con los datos que sesolicitan,
Muestra el precio méximo, precio minimo, precio medioyy el niimero total de productos de os fabricantes
ue tienen un precio medio superior a 2006, No es necesario mostrar el nombre del fabricante, con el
Identificador del fabricante es suficiente
Muestra el nombre de cada fabricante, junto con el precio méximo, precio mfnimo, precio medio y el
niimero total de productos de ls fabricantes que tienen un precio medio superior a 200. Es necesario
‘mostrar el nombre del fabricante
Calcula el nimero de productos que tienen un precio mayaro igual a 1806.
Calcula el ntimero de productos que tiene cada fabricante con un precio mayor o igual @ 180€,
Lista el precio medio los productos de cada fabricante, mostrando solamente el identificador del fabri-
cante,
Lista el precio medio los productos de cada fabricante, mostrando solamente el nombre del fabricante,
Lista los nombres de los fabricantes cuyos productos tienen un precio medio mayar o igual a 1506.
Devuelve un listado con los nombres de los fabricantes que tienen 2.0 més productes,26. Devuelve un lstado con los nombres de los fabricantes y el ntimero de productos que tiene cada uno con
tun precio superior o igual a 220 €. No es necesario mostrar el nombre de los fabricantes que no tienen
productos que cumplan la condicién.
Ejemplo del resultado esperado:
nombre total
Lenovo 2,
Asus 1
Crucial 1
27. Devuelve un lstado con los nombres de los fabricantes y el ntimero de productos que tiene cada uno con
tn precio superior o igual a220 €.El\istado debe mostrar el nombre de todos los fabricantes, es deci, s
hay algtin abricante que no tiene productos con un precio superior o igual a 220€ deberé aparecer en el
listado con un valor igual a 0 en el ndimero de productos:
Ejemplo del resultado esperado:
nombre total
Lenovo 2
crucial 1
Asus 1
Huawei °
Samsung °
Gigabyte °
Hewlett-Packard 9
Xiaomi o
Seagate o
28, Devuelve un lstado con los nombres de los fabricantes donde la suma del precio de todos sus productos
es superior a 1000 €,
28, Devuelve un listado con el nombre del producto més caro que tiene cada fabricante. El resultado debe
‘tener tres columnas: nombre del producto, precio y nombre del fabricante. El resultade tiene que estar
ordenado alfabéticamente de menor a mayor por el nombre del fabricante.
1.1.7 Subconsultas (En la cléusula WHERE)
[Link] Con operadores bisicos de comparac
1. Devuelve todos los productos del fabricante Lenovo. (Sinutilizar INNER JOIN)2. Devuelve todos los datos de los productos que tienen el mismo precio que el producto més caro del fa-
bricante Lenovo. (Sinutilizar INNER JOIN},
3. Lista el nombre del producto més caro del fabricante Lenovo.
4, Lista el nombre del producto més barate del fabricante Hewlett-Packard
5, Devuelve todos los productos de la base de datos que tienen un precio mayor o igual al producto més
caro del fabricante Lenovo,
6, Lista todos los productos del fabricante Asus que tienen un precio superior al precio media de todos sus
productos.
[Link] Subconsultas con ALL y ANY
8, Devuelve el producto mas caro que existe en Ia tabla producto sin hacer uso de MAX, ORDER BY ni
Urmrr,
8, Devuelve el producto més barato que existe en la tabla procucto sin hacer uso de NIN, ORDER BY ni
LIMIT
10, Devuelve los nombres de los fabricantes que tienen productos asociades. (Utlizando AL 0 ANY)
11, Devuelve (os nombres de ls fabricantes que no tienen productos asociados. (Utilizando ALL @ ANY).
[Link] Subconsultas con INy NOT IN
12, Devuelve los nombres de los fabricantes que tienen productos asociades. (Utlizando IN @ NOT 1).
13, Devuelve los nomares de ls fabricantes que no tienen productos asociados.(Utiizando IN @NOT IN)
[Link] Subconsultas con EXISTS y NOT EXISTS
14, Devuelve los nombres de los fabricantes que tienen productos asociados. (Utiizando EXISTS o NOT
EXISTS),
15, Devuelve los nombres de os fabricantes que no tienen productos asociados, (Utlizando EXTSTS 0 NOT
EXISTS)
[Link] Subconsultas correlacion:
16, Lista el nombre de cada fabricante con el nombre y el precio de su producto més caro,
17, Dewuelve un lstade de todos los productos que tienen un precio mayor o igual a la media de todos los
productos de su mismo fabricante.
18, Lista el nombre del producto més caro del fabricante Lenovo,