Ejercicios SQL

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 12

ELABORACION CONSULTAS MULTITABLAS

Presentado a Instructor: César Marino Cuéllar Chacón


Por: Andrés Felipe Claros Firigua
Ficha: 2468288
Competencia: Construcción del Software
Resultado de Aprendizaje: Construir la base de datos para el
software a partir del modelo de datos

Tecnólogo en Análisis y Desarrollo de Software


Servicio Nacional de Aprendizaje SENA
Centro de la Industria, la Empresa y los Servicios SENA
Regional Huila

Neiva, día 9 de noviembre del año 2022


CONTENIDO

1. Enunciado de la Actividad

2. Solución

3. Bibliografía
 Enunciados
1. Hacer consultas a una sola tabla de una base de datos

1. Lista los nombres y los precios de todos los productos de la tabla producto.

2. Lista el nombre de los productos, el precio en euros y el precio en dólares estadounidenses


(USD).

3. 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.

4. Lista los nombres y los precios de todos los productos de la tabla producto, convirtiendo los
nombres a mayúscula.

5. 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 fabricante.

6. Lista los nombres y los precios de todos los productos de la tabla producto, redondeando el
valor del precio.

7. Lista los nombres y los precios de todos los productos de la tabla producto, truncando el valor
del precio para mostrarlo sin ninguna cifra decimal.

8. Lista el código de los fabricantes que tienen productos en la tabla producto.

9. Lista el código de los fabricantes que tienen productos en la tabla producto, eliminando los
códigos que aparecen repetidos.

10. 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.
11. Devuelve una lista con las 5 primeras filas de la tabla fabricante.

12. 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 respuesta.

13. Lista el nombre y el precio del producto más barato. (Utilice solamente las cláusulas ORDER BY
y LIMIT)

14. Lista el nombre de todos los productos del fabricante cuyo código de fabricante es igual a 2.

15. Lista el nombre de los productos que tienen un precio mayor o igual a 400€.

16. Lista el nombre de los productos que no tienen un precio mayor o igual a 400€.

17. Lista todos los productos que tengan un precio entre 80€ y 300€. Sin utilizar el operador
BETWEEN.

18. Lista todos los productos que tengan un precio mayor que 200€ y que el código de fabricante
sea igual a 6.

19. Lista todos los productos donde el código de fabricante sea 1, 3 o 5. Sin utilizar el operador IN.

20. Lista el nombre y el precio de los productos en céntimos (Habrá que multiplicar por 100 el
valor del precio). Cree un alias para la columna que contiene el precio que se llame céntimos.

21. Lista los nombres de los fabricantes cuyo nombre empiece por la letra S.

22. Lista los nombres de los fabricantes cuyo nombre sea de 4 caracteres.

23. Devuelve una lista con el nombre de todos los productos que contienen la cadena Portátil en
el nombre.

24. 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 €.

25. 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).
 Solución
1. select count(*) as "Num empleado"
from empleado;

2. select pais, count(*) as "Num clientes"


from cliente
group by pais;

3. SELECT AVG(total) AS pago FROM pago


WHERE YEAR (fecha_pago) = 2009;

4. select estado, count(*) as "Num pedidos"


from pedido
group by estado
ORDER BY estado;
5.

2. Hacer consultas multitabla composición interna y composición


extrerna mediante el uso de las clausulas INNER JOIN, LEFT
JOIN, RIGHT JOIN

Consultas multitabla composición interna


1. Devuelve un listado con el identificador, nombre y los apellidos de todos los clientes que
han realizado algún pedido. El listado debe estar ordenado alfabéticamente y se deben
eliminar los elementos repetidos.

2. Devuelve un listado que muestre todos los pedidos que ha realizado cada cliente. El
resultado debe mostrar todos los datos de los pedidos y del cliente. El listado debe
mostrar los datos de los clientes ordenados alfabéticamente.

3. Devuelve un listado que muestre todos los pedidos en los que ha participado un comercial.
El resultado debe mostrar todos los datos de los pedidos y de los comerciales. El listado
debe mostrar los datos de los comerciales ordenados alfabéticamente.
4. Devuelve un listado que muestre todos los clientes, con todos los pedidos que han
realizado y con los datos de los comerciales asociados a cada pedido.

5. Devuelve un listado de todos los clientes que realizaron un pedido durante el año 2017,
cuya cantidad esté entre 300 € y 1000 €.

6. Devuelve el nombre y los apellidos de todos los comerciales que ha participado en algún
pedido realizado por María Santana Moreno.

7. Devuelve el nombre de todos los clientes que han realizado algún pedido con el comercial
Daniel Sáez Vega.

Consultas multitabla composición externa


1. Devuelve un listado con todos los clientes junto con los datos de los pedidos que han
realizado. Este listado también debe incluir los clientes que no han realizado ningún
pedido. El listado debe estar ordenado alfabéticamente por el primer apellido, segundo
apellido y nombre de los clientes.

2. Devuelve un listado con todos los comerciales junto con los datos de los pedidos que han
realizado. Este listado también debe incluir los comerciales que no han realizado ningún
pedido. El listado debe estar ordenado alfabéticamente por el primer apellido, segundo
apellido y nombre de los comerciales.

3. Devuelve un listado que solamente muestre los clientes que no han realizado ningún
pedido.

4. Devuelve un listado que solamente muestre los comerciales que no han realizado ningún
pedido.

5. Devuelve un listado con los clientes que no han realizado ningún pedido y de los
comerciales que no han participado en ningún pedido. Ordene el listado alfabéticamente
por los apellidos y el nombre. En en listado deberá diferenciar de algún modo los clientes y
los comerciales.

6. ¿Se podrían realizar las consultas anteriores con NATURAL LEFT JOIN o NATURAL RIGHT
JOIN? Justifique su respuesta

3. Hacer consultas de tipo resumen para la siguiente base de datos


1. ¿Cuántos empleados hay en la compañía?

2. ¿Cuántos clientes tiene cada país?

3. ¿Cuál fue el pago medio en 2009?

4. ¿Cuántos pedidos hay en cada estado? Ordena el resultado de forma descendente por el
número de pedidos.

5. Calcula el precio de venta del producto más caro y más barato en una misma consulta.
6. Calcula el número de clientes que tiene la empresa.

7. ¿Cuántos clientes existen con domicilio en la ciudad de Madrid?

8. ¿Calcula cuántos clientes tiene cada una de las ciudades que empiezan por M?

9. Devuelve el nombre de los representantes de ventas y el número de clientes al que


atiende cada uno.

10. Calcula el número de clientes que no tiene asignado representante de ventas.

11. Calcula la fecha del primer y último pago realizado por cada uno de los clientes. El listado
deberá mostrar el nombre y los apellidos de cada cliente.

12. Calcula el número de productos diferentes que hay en cada uno de los pedidos.

13. Calcula la suma de la cantidad total de todos los productos que aparecen en cada uno de
los pedidos.

14. Devuelve un listado de los 20 productos más vendidos y el número total de unidades que
se han vendido de cada uno. El listado deberá estar ordenado por el número total de
unidades vendidas.

15. La facturación que ha tenido la empresa en toda la historia, indicando la base imponible, el
IVA y el total facturado. La base imponible se calcula sumando el coste del producto por el
número de unidades vendidas de la tabla detalle_pedido. El IVA es el 21 % de la base
imponible, y el total la suma de los dos campos anteriores.

16. La misma información que en la pregunta anterior, pero agrupada por código de producto.

17. La misma información que en la pregunta anterior, pero agrupada por código de producto
filtrada por los códigos que empiecen por OR.

18. Lista las ventas totales de los productos que hayan facturado más de 3000 euros. Se
mostrará el nombre, unidades vendidas, total facturado y total facturado con impuestos
(21% IVA).

19. Muestre la suma total de todos los pagos que se realizaron para cada uno de los años que
aparecen en la tabla pagos.

4. Realizar subconsultas para la base de datos del punto 3.

4.1 Subconsultas con operadores básicos de comparación

1. Devuelve el nombre del cliente con mayor límite de crédito.


2. Devuelve el nombre del producto que tenga el precio de venta más caro.

3. Devuelve el nombre del producto del que se han vendido más unidades. (Tenga en cuenta
que tendrá que calcular cuál es el número total de unidades que se han vendido de cada
producto a partir de los datos de la tabla detalle_pedido)

4. Los clientes cuyo límite de crédito sea mayor que los pagos que haya realizado. (Sin utilizar
INNER JOIN).

5. Devuelve el producto que más unidades tiene en stock.

6. Devuelve el producto que menos unidades tiene en stock.

7. Devuelve el nombre, los apellidos y el email de los empleados que están a cargo de
Alberto Soria.

4.2 Subconsultas con ALL y ANY


8. Devuelve el nombre del cliente con mayor límite de crédito.

9. Devuelve el nombre del producto que tenga el precio de venta más caro.

10. Devuelve el producto que menos unidades tiene en stock.

4.3 Subconsultas con IN y NOT IN

11. Devuelve el nombre, apellido1 y cargo de los empleados que no representen a ningún
cliente.

12. Devuelve un listado que muestre solamente los clientes que no han realizado ningún pago.

13. Devuelve un listado que muestre solamente los clientes que sí han realizado algún pago.

14. Devuelve un listado de los productos que nunca han aparecido en un pedido.

15. Devuelve el nombre, apellidos, puesto y teléfono de la oficina de aquellos empleados que
no sean representante de ventas de ningún cliente.

16. Devuelve las oficinas donde no trabajan ninguno de los empleados que hayan sido los
representantes de ventas de algún cliente que haya realizado la compra de algún producto
de la gama Frutales.

17. Devuelve un listado con los clientes que han realizado algún pedido pero no han realizado
ningún pago.

4.4 Subconsultas con EXISTS y NOT EXISTS


18. Devuelve un listado que muestre solamente los clientes que no han realizado ningún pago.

19. Devuelve un listado que muestre solamente los clientes que sí han realizado algún pago.

20. Devuelve un listado de los productos que nunca han aparecido en un pedido.

21. Devuelve un listado de los productos que han aparecido en un pedido alguna vez.
1. Bibliografía

Relacionar aquí la bibliografía utilizada.

 Piñeiro Gómez, José Manuel. Diseño de bases de datos relacionales.


Editorial Paraninfo, 2014. 164 páginas.
 Bases de datos, sitio web: https://josejuansanchez.org/bd/

También podría gustarte