Está en la página 1de 6

Universidad Tecnológica de Panamá

Facultad de Ingeniería de Sistemas Computacionales


DEPARTAMENTO DE SISTEMAS DE INFORMACIÓN CONTROL Y
EVALUACIÓN DE RECURSO INFORMÁTICO
TECNOLOGÍA DE BASE DE DATOS
Laboratorio No.5 (PARCIAL 3)
Facilitador(a): Tawh Jeane Romaña S.

=========================================================================

A. TÍTULO DE LA EXPERIENCIA: Laboratorio (Parcial). Consultas Multitablas y


Subconsultas

B. TEMAS: Join, Left Outer Join, Right Outer Join, Full Outer Join

C. OBJETIVO: Realizar consultas que involucren varias tablas o que requieran


consultas a las mismas tablas para poder tener los criterios de filtro de la
consulta.

D. ENUNCIADO:

Utilice la base de datos Pubs

1. Se desea conocer los nombres y el precio de los Libros (Titles) cuyo precio está
por arriba de la media

2. Muestre el nombre del autor “Abraham”, el título del libro “Life Without Fear“ y la
cantidad de libros que dicho autor ha escrito en la rama de la "psychology”
Utilice la base de datos Northwind

3. Listar el número de orden y el id del cliente que ha pedido cantidades superiores


a 40 unidades del producto con Productid =45

4. Liste el Nombre del Producto, el precio y las unidades en Stock de todos los
Quesos o Chess que se venden. Utilice para tal fin la tabla Products.
(Dependiendo de si los datos están en inglés o español, realizará la búsqueda por
Chess o por Queso)

5. Muestre la categoría del producto


(Seafood,Meat/Poultry,Condiments....) y el monto total
vendido de esta categoría.
Considere que el detalle de las ventas se encuentra en la
tabla Order Details.
(Esta es parte de la salida que debe ud obtener)

6. Modifique el problema anterior, de tal forma que ahora se


muestren los montos totales pero agrupados por año y por
categoría. (La fecha de la orden se encuentra en la tabla
Orders).
(Esta es parte de la salida que debe ud obtener)

7. Para poder visualizar si su próxima consulta fue bien realizada, inserte su nombre
y apellido como un nuevo empleado de la tabla employees (BD Northwind,
sustituyendo en el insert mostrado su nombre y apellido en lugar del de la
profesora. El employeeid se genera automáticamente, por lo que no debe ser
captado.

insert into Employees (LastName,FirstName)


values ('Johnson', 'Jeannette')
Ahora realice la consulta que permita conocer que empleados tiene órdenes de
pedidos. Debe mostrarse el nombre completo del empleado, el código de
pedido y la fecha en que el mismo realizó el pedido.
En el caso de que existan empleados que no han realizado pedidos deberá
mostrarse su apellido y las columnas siguientes (cod pedido y la fecha) con
valores NULL. Muestre los datos ordenados por el número de orden.
Como usted es un nuevo empleado, debe
aparecer su nombre y no deben verse pedidos ni
fecha en su nombre. Muy similar a:

8. Crear una consulta que muestre el nombre de los empleados que tienen a su
cargo personal (es decir que son jefes) y la cantidad de empleados que cada
uno de estos tiene a su cargo.

La tabla Employees tiene una relación recursiva. Aun cuando los datos están
almacenados en una misma tabla (employees), para la consulta recuerde que
para un caso la tabla Employees
representa al jefe y para el otro la tabla
Employees representa al subalterno.

RESULTADOS DE LOS CODIGOS

1.
select title ,price
from dbo.titles
where price > 11.475

order by price

2.
Select au_fname, title, type, qty
from dbo.titles, dbo.authors, dbo.sales
where au_fname like '%abraham%' AND title
like'%Life Without Fear%' AND type like
'%psychology%'
order by qty
3. Select OrderID, CustomerID, ProductID,
UnitsOnOrder
from dbo.Orders, dbo.Products

where ProductID = 45 AND UnitsOnOrder > 40

4.
Select ProductName, UnitPrice, UnitsInStock
from dbo.Products
where ProductName like '%queso%'

USE Northwind

SELECT
a.categoryname as 'Categorias',
SUM(b.UnitPrice * b.Quantity) as
'Monto'

FROM Categories as a INNER JOIN Products as c


ON c.ProductID = c.CategoryID INNER JOIN
[Order Details] as b
ON b.ProductID = a.CategoryID

GROUP BY a.CategoryName

ORDER BY Categorias
6

USE Northwind

SELECT
YEAR(OrderDate) as 'Año',
a.categoryname as 'Categorias',
SUM(b.UnitPrice * b.Quantity) as
'Monto'

FROM Categories as a INNER JOIN Products as c


ON c.ProductID = c.CategoryID INNER JOIN
[Order Details] as b
ON b.ProductID = a.CategoryID INNER JOIN
Orders m
ON m.OrderDate = m.OrderDate

GROUP BY a.categoryname, m.OrderDate

ORDER BY Categorias, Año

7
use Northwind

SELECT
CONCAT(CHAR(NULL), firstName,'
', LastName) Empleado,
CONCAT(CHAR(NULL), OrderID)
N_ORDEN,
CONCAT(CHAR(NULL), OrderDate)
FECHA
FROM Employees, Orders

ORDER BY N_ORDEN
8
USE Northwind

SELECT
CONCAT(l.LastName,' ', l.FirstName) as
'Jefe',
COUNT(r.ReportsTo) as 'Cantidad de
Subordinados'

FROM Employees r INNER JOIN Employees l


ON l.EmployeeID = r.ReportsTo

GROUP BY l.LastName, l.FirstName, r.ReportsTo

ORDER BY l.LastName

E. CONSIDERACIONES FINALES:
Indique en esta sección si considera o no que el laboratorio (parcial) cumplió
su objetivo.

F. BIBLIOGRAFIA:
 A fondo SQL Server, Kalen Delaney, Serie de programación Microsoft,
McGraw Hill profesional
 http://www.aulaclic.es/sqlserver/t_1_1.htm
G. RÚBRICA:
 Cada uno de los problemas tienen un valor de 10 puntos, lo que hace un total de
80 puntos. Se evaluará la existencia del código y las evidencias de los resultados
a través de las capturas de pantalla.

Fecha de entrega: indicada por el profesor (19 de noviembre de 2022 hasta las 6:00
pm)

También podría gustarte