4ssa fundamentos de bases de datos examen unidad 6 regu

2
Instituto Tecnológico Superior del Sur de Guanajuato Ingeniería en Sistemas Computacionales Fundamentos de Bases de Datos S44A Unidad 6 – SQL Docente: Luis Germán Gutiérrez Torres 28/05/2012 09:00 hrs Nombre: Valor: 100% No. Control: Calificaci ón: INSTRUCCIONES Al finalizar su examen deberá entregar en un archivo de texto (.txt) las preguntas y su respectiva solución. 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 instrucción SQL. 2. (Valor: 20 pts.) Selecciona el nombre completo del empleado en una sola columna, la ciudad, el país y la fecha de nacimiento (BirthDate). Todos los encabezados se deben mostrar en español. En el campo COUNTRY, debe cambiar USA por “Estados Unidos” y los demás países debe dejarlos igual. Ordene el resultado primeo por país 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

Upload: marlene-lopez

Post on 17-Dec-2015

8 views

Category:

Documents


1 download

DESCRIPTION

asdasdffdaf

TRANSCRIPT

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;