4ssa fundamentos de bases de datos examen unidad 6 regu
DESCRIPTION
asdasdffdafTRANSCRIPT
Instituto Tecnolgico Superior del Sur de Guanajuato
Ingeniera en Sistemas Computacionales
Fundamentos de Bases de Datos S44A
Unidad 6 SQL
Docente: Luis Germn Gutirrez Torres28/05/201209:00 hrs
Nombre:Valor:100%
No. Control:Calificacin:
INSTRUCCIONES
Al finalizar su examen deber entregar en un archivo de texto (.txt) las preguntas y su respectiva solucin. Guarde el archivo con el siguiente formato:
APELLIDOS_NOMBRE_EX6.txt
Ejemplo:
RUBIO_PAULINA_EX6.txt
Para los siguientes ejercicios utiliza la base de datos NWIND.
1. (valor 20 pts.) Inserta tres registros en la tabla productos incluyendo todos los datos. Insertar los tres registros en una sola instruccin SQL. 2. (Valor: 20 pts.) Selecciona el nombre completo del empleado en una sola columna, la ciudad, el pas y la fecha de nacimiento (BirthDate). Todos los encabezados se deben mostrar en espaol. En el campo COUNTRY, debe cambiar USA por Estados Unidos y los dems pases debe dejarlos igual. Ordene el resultado primeo por pas y luego por ciudad, ambos de forma ascendente. En la consulta solo deben aparecer los empleados que nacieron entre 1950 y 1970.SELECT CONCAT(e.LastName, ' ', e.FirstName) AS Nombre_Completo, e.city AS Ciudad, e.BirthDate AS Fecha_de_Nacimiento,
CASE e.Country WHEN 'USA' THEN 'Estados Unidos'
else e.Country
END
AS Pais
FROM Employees e
WHERE YEAR(e.BirthDate) BETWEEN '1950' AND '1970' ORDER BY e.Country ASC, e.City ASC;3. (Valor: 20 pts.) Selecciona: clave del empleado, nombre del empleado, apellido del empleado, cantidad de rdenes que registr y la suma de los montos de envo (campo Orders.FREITGTH) de todos los envos de la compaa de envos cuya clave (shipperId) es 1. Ordene los resultados por la cantidad de rdenes de mayor a menor.SELECT e.EmployeeID,e.FirstNAme,e.LastName, COUNT(o.OrderID) AS CantidadOrdenes, SUM(o.Freight) AS Montos_de_Envio
FROM Employees e, Orders o WHERE e.EmployeeID=o.EmployeeID AND o.ShipVia=1
Group BY e.EmployeeID,e.FirstNAme,e.LastName ORDER BY CantidadOrdenes DESC;4. (Valor: 20 pts.) Seleccione la clave del proveedor(supplierId), Nombre del la compaa (companyName), precio promedio de los productos que surte el proveedor. Ordene el resultado por el precio promedio de mayor a menor.SELECT s.supplierID, s.CompanyName, AVG(p.UnitPrice) AS PrecioPromedio
FROM Suppliers s, Products p
WHERE p.supplierID=s.SupplierID
GROUP BY s.supplierID, s.CompanyName ORDER BY PrecioPromedio DESC;5. (Valor: 20 pts.) Generar un reporte con las siguientes columnas: clave de cliente, nombre de cliente (companyName), pas y la suma de los montos totales de las rdenes que realiz en el ltimo trimestre de 1997.Notas:
a) El monto total de una orden se calcula sumando: cantidad * precio de todos los detalles de orden que pertenecen a una orden.
b) No importa el descuento para este clculo.
SELECT c.CustomerID, c.CompanyName, c.Country, SUM(od.Quantity*od.UnitPrice) AS Monto_total
FROM Customers c, OrderDetails od , Orders o
WHERE c.CustomerID=o.CustomerID AND YEAR(o.OrderDate)='1997' AND MONTH(O.OrderDate) BETWEEN '10' AND '12'
GROUP BY c.CustomerID, c.CompanyName, c.Country;