Sei sulla pagina 1di 4

TALLER CREACIÓN DE VISTAS

MARÍA ALEJANDRA COLMENARES MUÑOZ

No Ficha 2059357

INSTRUCTOR: SANDRA YANNETH RUEDA GUEVARA

Servicio Nacional de Aprendizaje - SENA

Centro de Gestión de Mercados, Logística y Tecnologías de la Información.

Tecnólogo en Análisis y Desarrollo de Sistemas de Información


COORDINACIÓN DE ARTICULACIÓN CON LA MEDIA

BOGOTÁ 2020
1. Cree una vista con el nombre del producto y la cantidad total vendida del mismo.

CREATE VIEW vista_producto1


AS
SELECT NombreP, SUM(Cantidad) FROM producto P INNER JOIN detalles_del_pedido D
ON P.id_producto=D.id_producto GROUP BY NombreP

SELECT * FROM vista_producto1

2. Cree una vista con el nombre del empleado, la edad y el total recaudado en ventas por
cada uno.
CREATE VIEW vista_empleado1
AS
SELECT E.nombre, E.edad, SUM(E.total_ventas) FROM empleados E
INNER JOIN pedido P
ON E.id_empleado=P.id_empleado GROUP BY nombre
SELECT * FROM vista_empleado1

3. Cree una vista con el nombre de la categoría, el nombre de los productos de cada categoría
y los proveedores de cada producto incluya solo las filas de los productos empacados en
botellas (bot).

SELECT C.NombreCategoria,P.NombreP,P.id_proveedor
FROM categoria AS C INNER JOIN producto AS P
ON P.id_categoria=C.id_categoria INNER JOIN proveedor AS PO
ON PO.id_proveedor=P.id_proveedor
WHERE P.CantidadP LIKE '%bot%'

-----------------

CREATE VIEW producto, proveedor


AS
SELECT C.NombreCategoria,P.NombreP,P.id_proveedor
FROM categoria AS C INNER JOIN producto AS P ON P.id_categoria=C.id_categoria INNER
JOIN proveedor AS PO
ON PO.id_proveedor=P.id_proveedor
WHERE P.CantidadP LIKE '%bot%'

SELECT * FROM producto_proveedor

4. Cree una vista con el código del cliente, el nombre del cliente y el total pagado por cada
cliente.
SELECT C.id_cliente, C.NombreE, SUM(D.cantidad_detalles*precioDetalles) FROM cliente C
INNER JOIN pedido P ON C.id_cliente=P.id_cliente INNER JOIN detalles_del_pedido D
ON P.id_pedido=D.id_pedido GROUP BY C.id_cliente, C.NombreE
..........................................
CREATE VIEW vista_total1
(codigo_cliente, nombre_cliente, total_pagado)
AS
SELECT C.id_cliente, C.NombreE, SUM(D.cantidad_detalles*precioDetalles) FROM cliente C
INNER JOIN pedido P ON C.id_cliente=P.id_cliente INNER JOIN detalles_del_pedido D
ON P.id_pedido=D.id_pedido GROUP BY C.id_cliente, C.NombreE

SELECT * FROM vista_total1

5. Cree una vista con el código del cliente, el nombre de cliente y el porcentaje que el total
pagado por cada cliente representa frente al total de todas las ventas registradas. Utilice
una subconsulta para obtener el total de todas las ventas y la vista del punto 4 para
obtener el porcentaje.

SELECT codigo_cliente, nombre_cliente, (total_pagado*100)/(SELECT


SUM(total_pagado)FROM vista_total1) FROM vista_total1

-----------------

CREATE VIEW vista_Porcentaje

AS

SELECT codigo_cliente, nombre_cliente, (total_pagado*100)/(SELECT


SUM(total_pagado)FROM vista_total1) Porcentaje FROM vista_total1

SELECT * FROM vista_porcentaje

6. crear una vista con las todas las columnas de la tabla productos, y solo las filas en las que el
precio unidad es mayor a 20. Esta vista es para actualizar la tabla.
● Insertar en la vista, un registro en el cual incluya como precio unidad 30, tenga en cuenta
la integridad de datos. Describa lo que sucede.
● Cree la sentencia necesaria para modificar, en la vista, el precio unidad a 10 del producto
77, intente ahora cambiarlo a 28. Describa lo que sucede en los dos casos.

ALTER VIEW vista_producto1 AS SELECT * FROM producto WHERE PrecioP > 20


.................................................
INSERT INTO producto (CantidadP, id_categoria, id_et, id_producto, id_proveedor,
Nivel_nuevo_pedido,NombreP, PrecioP, suspendido, unidadesP, Unidad_en_existencia)
VALUES (1,2,3,4,5,55,'chevrolet',30,'no',1,50)
7. Cree una vista con el requisito Distinct con las regiones de origen de los clientes, omita las
filas con valor nulo. Explique con sus palabras la funcionalidad del requisito Distinct, en la
creación de vistas.

SELECT DISTINCT CargoContacto_C, CiudadCliente, CodigoPCliente,


DireccionCliente,FaxCliente, id_cliente, NombreContactoC, NombreE,
PaisCliente,RegionCliente, TelefonoCliente, Total_Pagado FROM cliente ORDER BY 1, 2, 3,
4, 5, 6, 7, 8, 9, 10, 11, 12

“Si SELECT DISTINCT se especifica, sólo las filas únicas permanecerán en un resultado de
consulta. Por lo tanto, solo quedará una sola fila de todos los conjuntos de filas
completamente coincidentes en el resultado.”

Potrebbero piacerti anche