Está en la página 1de 4

Asignatura: Administración de Bases de Datos

Taller de Funciones de Grupo y Join


2021-2P

A partir de las tablas: demo_customers que contiene los datos relacionados con el código, primer
nombre y segundo nombre de clientes, dirección, ciudad, código postal, teléfono y límite de
crédito

y la tabla demo_orders, que contiene el número de la orden, código del cliente, total de la orden o
valor de la orden, fecha de orden

Tabla demo_product_info, que contiene información de los productos: Código, nombre,


descripción y categoría

Tabla DEMO_ORDER_ITEMS, que tiene información: del número de la orden, el número del
producto, precio unitario y cantidad
Asignatura: Administración de Bases de Datos
Taller de Funciones de Grupo y Join
2021-2P
Realice las siguientes consultas

1. mostrar el código del cliente, el primer nombre del cliente en mayúscula, primera dirección,
teléfono, y correo de los clientes que viven en las ciudades de Atlanta o Chicago o St. Louis

2. Contar el número de ordenes realizadas por cliente que no viven en Chicago o St. Louis

3. Mostar el número de la orden, el nombre del producto en minuscula, la cantidad y el valor


unitario, calcule el valor parcial (la cantidad y el valor unitario), para aquellas ordenes que son de
los clientes de código 3 o 4 o 7. Formatee los nombres de las columnas,

4. Mostar la sumatoria del valor parcial por orden. El valor parcial es la multiplicación del precio
unitario x la cantidad de un producto.

5. Cuente el número de productos que tienen la misma categoría.

6. Cuente de órdenes que se han realizado por Cliente, muestre solo aquellas donde el número de
compras este entre 2 y 6.

7. Muestre el promedio del valor de venta o precio de lista de los productos que pertenecen a una
misma categoría.

8. Calcular el valor total por Orden, muestre solo las ordenes que se encuentran entre 500 y1800
dólares y que se hayan realizado en los últimos 2 meses

9. Muestre el código de la orden, nombre del producto en Mayúscula, la cantidad, el valor del
producto en formato 9,999, el valor parcial (cantidad x valor producto), valor parcial menos un
15% de descuento formatee el nombre de cada Columna, para aquellas ordenes que fueron
realizadas en los últimos 7 meses. Ordene la consulta por valor parcial.

10. Muestre el código de la orden, fecha de la orden en formato DD, nombre del día de la semana,
nombre del mes y el año, código del producto, la cantidad, el valor del producto, el valor parcial
(cantidad x valor producto) en formato $999.999, de los productos que no han sido comprados por
los clientes de ciudades Atlanta o Chicago.

11. Muestre el código de la orden, el nombre del producto, precio_unitario y cantidad, incluya en
la consulta los productos que no han sido aun comprados.

12. Muestre el código y nombre del producto con el valor más alto.
Asignatura: Administración de Bases de Datos
Taller de Funciones de Grupo y Join
2021-2P

1)
SELECT CUSTOMER_ID AS "Codigo",
UPPER(CUST_FIRST_NAME) AS "Nombre",
CUST_STREET_ADDRESS1 AS "direccion #1",
PHONE_NUMBER1 AS "telefono",
CUST_EMAIL AS "E-mail"
FROM DEMO_CUSTOMERS
WHERE CUST_CITY IN ('Atlanta', 'Chicago', 'St. Louis');

2)
SELECT count(*), A.CUSTOMER_ID
FROM DEMO_ORDERS A
JOIN DEMO_CUSTOMERS B on A.CUSTOMER_ID = B.CUSTOMER_ID
WHERE CUST_CITY NOT IN ('Chicago', 'St. Louis')
GROUP BY A.CUSTOMER_ID;

3)
SELECT A.ORDER_ID "NO ORDEN", LOWER(B.PRODUCT_NAME) "NOMBRE", A.QUANTITY
"CANTIDAD", A.UNIT_PRICE "VALOR U", (A.QUANTITY * A.UNIT_PRICE) "VALOR PARCIAL"
FROM DEMO_ORDER_ITEMS A
JOIN DEMO_PRODUCT_INFO B ON A.PRODUCT_ID = B.PRODUCT_ID
JOIN DEMO_ORDERS C ON A.ORDER_ID = C.ORDER_ID
WHERE CUSTOMER_ID IN(3,4,7);

4)
SELECT ORDER_ID "NO ORDEN", SUM(QUANTITY * UNIT_PRICE) "VALOR TOTAL"
FROM DEMO_ORDER_ITEMS
HAVING SUM(QUANTITY * UNIT_PRICE) > 1000
GROUP BY ORDER_ID
ORDER BY ORDER_ID;

5)
SELECT CATEGORY, COUNT(*) FROM DEMO_PRODUCT_INFO GROUP BY CATEGORY;

6)
SELECT CUSTOMER_ID "CLIENTE", COUNT(*)"NO ORDENES" FROM DEMO_ORDERS
GROUP BY CUSTOMER_ID
HAVING COUNT(*) BETWEEN 2 AND 6;

7)
SELECT CATEGORY "CATEGORIA", AVG(LIST_PRICE) "PROMEDIO" FROM DEMO_PRODUCT_INFO
GROUP BY CATEGORY;
Asignatura: Administración de Bases de Datos
Taller de Funciones de Grupo y Join
2021-2P
8)
SELECT A.ORDER_ID "NO ORDEN", SUM(B.QUANTITY * B.UNIT_PRICE) "VALOR PARCIAL" FROM
DEMO_ORDER_ITEMS B JOIN DEMO_ORDERS A
ON B.ORDER_ID = A.ORDER_ID
WHERE MONTHS_BETWEEN(sysdate,order_timestamp) <= 2
GROUP BY A.ORDER_ID
HAVING SUM(B.QUANTITY * B.UNIT_PRICE) BETWEEN 500 AND 1800;

9)
SELECT A.ORDER_ID "No", UPPER(PRODUCT_NAME) "NOMBRE PRODUCTO", QUANTITY
"CANTIDAD",TO_CHAR(UNIT_PRICE, '9,999' )"VALOR PRODUCTO",
(QUANTITY * UNIT_PRICE)"VALOR PARCIAL", ((QUANTITY * UNIT_PRICE)*0.15)"DESCUENTO",
((QUANTITY * UNIT_PRICE) - ((QUANTITY * UNIT_PRICE)*0.15)) "VALOR TOTAL"
FROM DEMO_ORDER_ITEMS A JOIN DEMO_PRODUCT_INFO B ON A.PRODUCT_ID =
B.PRODUCT_ID
JOIN DEMO_ORDERS C ON A.ORDER_ID = C.ORDER_ID
WHERE MONTHS_BETWEEN(sysdate,order_timestamp) <= 7
ORDER BY (QUANTITY * UNIT_PRICE);

10)
SELECT a.order_id as "Codigo Orden", to_char(order_timestamp,'DD DAY MONTH YYYY') as
"Fecha",
product_id as "Codigo Producto", quantity as "Cantidad", unit_price as "Valor",
to_char((quantity * unit_price),'999.999') as "Valor Parcial"
From DEMO_ORDERS a join DEMO_ORDER_ITEMS b on a.order_id = b.order_id
join DEMO_CUSTOMERS c on a.customer_id = c.customer_id
where cust_city not in('Atlanta', 'Chicago');

11)
SELECT a.ORDER_ID,b.QUANTITY, c.PRODUCT_NAME, c.LIST_PRICE FROM DEMO_ORDERS a JOIN
DEMO_ORDER_ITEMS b ON a.ORDER_ID = b.ORDER_ID JOIN DEMO_PRODUCT_INFO c ON
b.PRODUCT_ID = c.PRODUCT_ID WHERE PRODUCT_AVAIL = 'Y';

12)
SELECT PRODUCT_ID, PRODUCT_NAME
FROM DEMO_PRODUCT_INFO
WHERE LIST_PRICE = (SELECT MAX(LIST_PRICE) FROM DEMO_PRODUCT_INFO);

También podría gustarte