0% encontró este documento útil (0 votos)
20 vistas11 páginas

Ejercicios SQL - Parte 5 - Consultas Con Datos Aplanados

La guía de ejercicios Nro 5 se centra en la práctica de consultas SQL sobre datos aplanados de las tablas Invoice, Customer y Employee. Aplanar datos permite simplificar las consultas y mejorar el rendimiento al reducir la necesidad de múltiples operaciones de unión. Se presentan ejercicios para crear vistas y realizar consultas específicas sobre la información combinada de estas tablas.

Cargado por

Chiara Orlando
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 DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
20 vistas11 páginas

Ejercicios SQL - Parte 5 - Consultas Con Datos Aplanados

La guía de ejercicios Nro 5 se centra en la práctica de consultas SQL sobre datos aplanados de las tablas Invoice, Customer y Employee. Aplanar datos permite simplificar las consultas y mejorar el rendimiento al reducir la necesidad de múltiples operaciones de unión. Se presentan ejercicios para crear vistas y realizar consultas específicas sobre la información combinada de estas tablas.

Cargado por

Chiara Orlando
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 DOCX, PDF, TXT o lee en línea desde Scribd

Guia de ejercicios Nro 5

En la presente guía vamos a continuar con la ejercitación de los conceptos de SQL vistos
en clase. En particular vamos a centrarnos en realizar consultas sobre los datos aplanados
de las tablas Invoice, Customer y Employee en una única tabla.

Aplanar datos en SQL significa combinar información de varias tablas en una sola tabla o
vista para simplificar su consulta. Esto puede resultar útil para generar informes complejos y
consultas, ya que permite obtener toda la información necesaria en un solo lugar sin tener
que realizar múltiples consultas y combinar manualmente los resultados.

Aplanar datos también puede mejorar el rendimiento de las consultas al reducir la cantidad
de operaciones de unión (JOIN) necesarias para obtener la información deseada. Esto se
debe a que unir múltiples tablas puede ser un proceso costoso en términos de rendimiento,
especialmente en bases de datos grandes o complejas. Aplanar datos puede reducir la
cantidad de tablas involucradas en la consulta, lo que puede mejorar el rendimiento general
de la base de datos.

En resumen, aplanar datos en SQL puede simplificar y mejorar la eficiencia de las consultas
al reducir la cantidad de tablas involucradas y al permitir que la información necesaria esté
disponible en una sola tabla o vista.

Para crear la tabla flat_data con ciertos datos de las tres tablas involucradas, podemos
utilizar la siguiente consulta en SQL:

-WITH
-VIEW  queda actualizada constantemente
-TABLA (TEMPORAL O PERMANENTE) queda desactualizada
Realizar las siguientes vistas:

Se utilizan las tablas “customer”, “invoice” y “employee”

1. Aplanar datos de todas las tablas

2. Aplanar datos de todas las tablas y filtrar por el Empleado ID = 2:

3. Aplanar datos de todas las tablas y filtrar por un cliente específic (Customer.FirstName =
'Michelle' AND Customer.LastName = 'Brooks’).
4. Aplanar datos de todas las tablas y agrupar por país

5. Aplanar datos de todas las tablas y filtrar por un rango de fechas (Año 2012).

7. Aplanar datos de todas las tablas y mostrar solo el nombre y apellido del cliente, la fecha
de factura y el total:

8. Aplanar datos de todas las tablas y mostrar sólo el nombre y apellido del cliente y el total
de ventas:
9. Aplanar datos de todas las tablas y mostrar sólo el nombre y apellido del empleado y el
total de ventas que generaron

10. Mostrar en una misma vista el nombre y apellido de los clientes, el nombre y apellido del
empleado a cargo de cada cliente para cada invoice junto con el total de cada invoice.

Crear la siguiente Vista y resolver consultas


SELECT
c.FirstName || ' ' || c.LastName AS CustomerName,
e.FirstName || ' ' || e.LastName AS EmployeeName,
i.InvoiceDate,
i.Total
FROM
Customer c
JOIN Invoice i ON c.CustomerId = i.CustomerId
JOIN Employee e ON c.SupportRepID = e.EmployeeId;

Esta consulta debe crear una nueva vista llamada flat_data, que contiene una fila para cada
factura, con el nombre del cliente, el nombre del empleado que la procesó, la fecha y el
total. A continuación, veremos ejercicios que (casi) exclusivamente utilizan la información de
esta nueva tabla y vemos que consultas que antes habrían requerido de dos JOIN se
simplifican considerablemente.

1.
¿Cuáles son los nombres de los clientes que hicieron una compra en 2010?

2.
¿Cuál es el total de ventas de cada empleado?

3.
¿Cuál es el número total de ventas realizadas en marzo de 2012?
4.
¿Cuál es el nombre del empleado que vendió más en 2013?

5.
¿Cuál es el total de ventas realizadas por cada país? (se necesita aquí un único Join)
6.
¿Cuál es el promedio de ventas por cliente en 2011?
7.
¿Cuál es el número total de clientes que hicieron una compra en mayo de 2013?

8.
¿Cuál es el nombre del cliente que realizó la compra más grande?
Opción 1

Opción 2

9.
¿Cuál es el nombre del empleado que procesó la compra más grande?

10.
¿Cuáles son los nombres de los clientes que compraron más de una vez en el mismo día?
No hay

11.
¿Cuál es el mes con el mayor número de ventas en 2012?
Tip: strftime('%m', InvoiceDate) AS Month

12.
¿Cuál es el número de ventas por mes en 2013?

También podría gustarte