Uploaded by Maximiliano Neves

Ejercicos SQL de Kapek

advertisement
Ejercicio - sentencias SQL DML
1. Realiza la base de datos para el siguiente Modelo Relacional.
2. Escribe las sentencias de inserción para registrar los siguientes datos.
● Cédula:123
● Nombre: Candela
● Apellido: Moreira
● Fecha de nacimiento: 13/12/1994
● Dirección: Calle 13 nro. 21
● Ciudad: San Carlos
● Teléfono: 45 33 55 52
●
●
●
●
●
●
●
●
Cédula: 456
Nombre: Josefina
Apellido: Correa
Fecha de nacimiento: 5/7/2000
Dirección: Calle Buena Vista
Ciudad: San Carlos
Teléfono: 44 33 22 11
Celular: 098 987 876
●
●
●
●
●
●
●
●
●
Cédula: 789
Nombre: Pedro Miguel
Apellido: Paresumo
Fecha de nacimiento: 17/11/1984
Dirección: Calle Vista Borrosa s/n
Ciudad: Maldonado
Teléfono: 44 55 66 77
Celular: 099 766 433
Teléfono del trabajo: 46 45 44 42
●
●
●
●
●
Cédula: 999
Nombre: Pablo
Apellido: Pardo
Fecha de nacimiento: 17/12/1994
Dirección: Calle Vicios Coquetos s/n
●
●
Ciudad: Maldonado
Celular: 098 123 123
3. Escribir las sentencias para las siguientes necesidades.
a. “Buenas tardes, he notado que mi nombre quedó mal registrado, me llamo
Candelaria, no Candela. Mi cédula es 123. Gracias.”
b. “Hola. Comencé un nuevo trabajo y quiero que se registre el número de
teléfono por las dudas: 46 45 44 42. Mi cédula es 456. Gracias”
c. “Hola. No me llegan las facturas y creo que es porque tienen mal mi dirección,
esta es: Calle Vista Buenosa s/n. Gracias. Ah! Mi cédula es 789.”
d. “Hola. Quiero que borren mi celular de su base de datos. Mi nombre es
Josefina Correa.”
e. “Buenos días. Quiero que me borren de su base de datos. Ya no quiero ser su
cliente.”
4. Modifique la base de datos para dejar registro de que un cliente puede comprar
muchos artículos y cada artículos puede ser comprado por muchos clientes. Se
deberá registrar:
a. Id del artículo
b. Nombre
c. Precio
d. Moneda
e. Fecha de compra
f. Cantidad de artículos comprados
5. Realizar las sentencias para ingresar lo siguiente:
a. Existe un artículo llamado Estatua de piedra corazón que cuesta 1500 dólares.
b. Existen los artículos llamados Manzana de oro verde, Manzana de oro rojo y
Manzana de oro amarillo. Cada una cuesta 98.000 pesos uruguayos.
c. El cliente 123 compró el día 20 de octubre 2 cuadros de arpillera de 179 pesos
uruguayos.
d. El cliente 456 compró el día 21 de octubre 1 cuadros de arpillera.
e. El artículo Manzana de oro rojo cambió su valor a 91.000 pesos uruguayos.
Sentencias de selección
Sintaxis:
Ejemplo 1:
SELECT cedula, nombre, apellido FROM empleados WHERE cedula > 105 and
apellido like 'Pe' ORDER by nombre asc limit 3
Funciones de agrupación:
Uso del having:
Ejemplo 2:
SELECT sum(sueldo), idArea as 'Area de trabajo', idProyecto as 'Proyecto en el que
trabaja' from empleados GROUP by idArea having idProyecto > 8
Resolver:
1. Listar todos los artículos a la venta.
Select * from articulos
2. Listar solo nombre y apellido de todos los clientes.
Select nombre, apellido from clientes
3. Listar todos los clientes ordenados por apellido.
Select * from clientes order by apellido
4. Listar todos los artículos ordenados por moneda y precio.
Mostrar cuántos artículos hay.
Mostrar la mitad de la cantidad de artículos que hay.
Mostrar cuántos clientes hay.
Mostrar los números de teléfono y sus comentarios del cliente 789.
Listar nombres y apellidos en mayúsculas de los clientes que sean de Maldonado o
Piriápolis.
10. Listar todos los clientes cuyo apellido comience con P.
5.
6.
7.
8.
9.
11. Mostrar cuántos artículos hay por moneda.
12. Mostrar cuántos clientes hay por ciudad.
13. Contar las ventas realizadas después del 15 de octubre.
14. Contar las ventas realizadas entre el primero y el 31 de octubre.
15. Sumar las cantidades de las ventas de octubre.
16. Contar las ventas por moneda.
17. Sumar los montos de las ventas por moneda.
18. Contar cuántos clientes cuyo nombre termine en A hay por ciudad.
19. Mostrar los datos de los dos primeros clientes ordenados por apellido de forma
descendente.
20. Mostrar la cantidad de artículos a la venta agrupado por moneda.
21. Mostrar los datos de los clientes que no hayan registrado una dirección.
22. Mostrar nombre, apellido y el texto “Cliente” titulado como tipo, para todos los clientes
de una ciudad que contenga la letra “e”.
Usando subconsultas:
23. Mostrar nombre y apellido de los clientes que compraron el 15/10.
Select nombre , apellido from cliente where ci in (select cedulaCliente from ventas
where fecha=”2022/10/15” )
24. Mostrar los teléfonos de los clientes cuyo apellido comiencen con C.
Select numero from teléfonos where cedula in (select ci from clientes where apellido like ‘C%’)
25. Mostrar los nombres de los artículos comprados entre el 5 y el 10 de octubre.
Select nombre from artículos where id in (select idArticulo from compras where fecha
between ‘2022/10/05’ and ‘2022/10/10’)
26. Mostrar los datos de las compras de los clientes cuyo nombre comience con A.
Select * from compras where ciCliente in (select ci from clientes where nombre like ‘A%’)
27. Listar nombres de los clientes que compraron en octubre.
28. Listar los teléfonos de las personas de apellido Correa.
29. Listar los nombres de los artículos comprados en octubre.
30. Listar los datos de los clientes que no tengan teléfono registrado.
31. Contar la cantidad de teléfonos agrupado por documento.
32. Mostrar documento de aquellos que tienen dos teléfonos o más.
33. Listar los datos de los clientes que tienen dos teléfonos o más.
34. Listar datos de los clientes que compraron el artículo llamado Estatua de piedra
corazón.
35. Listar datos de los clientes que compraron un artículo de más de 100 dólares.
36. Listar los nombres de los artículos comprados por alguien llamado Josefina Correa.
Usando unión, intersección y diferencia:
37. Mostrar nombres, apellidos y categoría de la unión de aquellos nacidos antes del
01/01/1990 cuya categoría es “Ochentones” y los nacidos entre el 01/01/2000 y el
01/01/2010 cuya categoría es “Milenials”.
38. Mostrar nombre y documento de aquellos que compraron el día 01/10/2022 y también
el día 10/10/2022.
39. Mostrar nombre y documento de aquellos que compraron el artículo 1 pero no
compraron el artículo 3.
Usando join:
40. Listar los clientes que han comprado ordenados desde el que ha comprado mayor
cantidad de veces al que ha comprado menos, mostrar documento, nombre y cantidad
de veces que ha comprado.
41. Mostrar nombre y apellido de los clientes junto con sus números de teléfono, si no
tiene teléfono ser verá null.
42. Mostrar fecha de la compra, cantidad, nombre del producto, moneda, precio y total de
todas las compras.
43.
44. Mostrar nombre y apellido de los clientes y los nombres de los productos que
compraron.
45. Contar las ventas por moneda.
46. Sumar los montos de las ventas (cantidad por precio) por moneda.
47. Mostrar una lista con los documentos de los clientes y un valor que diga cliente junto
con los números de artículos y su nombre.
Download