3
BASE DE DATOS AVANZADAS PRÁCTICA DDL CONSULTAS MULTITABLA Nombre: GINO PAUL GONZALES CUSTODIO INTRODUCCIÓN: Resolver las siguientes consultas multitabla utilizando la base de datos BDAvanzada 1. Listar los datos de cada uno de los productos, indicando descripción de producto, precio unitario y descripción de categoría select p.descripcion,p.preciounitario,c.descripcion from producto p inner join categoria c on c.idcategoria=p.idcategoria 2. Listar todas las ventas (numero de documento, fecha y total) de los productos del tipo hardware (nemónico HD : dos primeras letras del código de producto) select distinct v.numerodocumento,v.fecha,v.total from venta v inner join detalleventa dv on v.idventa=dv.idventa inner join producto p on p.idproducto=dv.idproducto where left(p.codigo,2)='HD' 3. Listar los clientes que pertenecen a las zonas de descripción: zona 1 , zona 2 y zona 3 select c.idcliente,c.nombre+', '+c.apellido as Cliente,c.direccion,c.idzona,z.descripcion from cliente c inner join zona z on c.idzona=z.idzona where c.idzona like '[1,2,3]' 4. Listar sólo las categorías que tienen productos relacionados indicando para cada una de ellas su descripción y nombres de productos select * from producto select p.descripcion as Producto,c.descripcion as Categoria from categoria c inner join producto p on p.idcategoria=c.idcategoria 5. Listar los nombres de los productos comprados por los clientes asignados a la zona de código 1 select distinct dv.idproducto,p.descripcion,cl.idzona from detalleventa dv inner join venta v on dv.idventa=v.idventa inner join cliente cl on cl.idcliente=v.idcliente inner join producto p on p.idproducto=dv.idproducto where cl.idzona=1 6. Listar los nombres de los productos comprados por los clientes asignados a la zona de descripción Zona1

Practica Dml Consultas MultiTab

Embed Size (px)

DESCRIPTION

Practica desarrollada

Citation preview

Page 1: Practica Dml Consultas MultiTab

BASE DE DATOS AVANZADAS

PRÁCTICA DDL

CONSULTAS MULTITABLA

Nombre: GINO PAUL GONZALES CUSTODIO

INTRODUCCIÓN:

Resolver las siguientes consultas multitabla utilizando la base de datos BDAvanzada

1. Listar los datos de cada uno de los productos, indicando descripción de producto, precio unitario y descripción de categoría

select p.descripcion,p.preciounitario,c.descripcion from producto p inner join categoria c on c.idcategoria=p.idcategoria

2. Listar todas las ventas (numero de documento, fecha y total) de los productos del tipo hardware (nemónico HD : dos primeras letras del código de producto)

select distinct v.numerodocumento,v.fecha,v.total from venta v inner join detalleventa dv on v.idventa=dv.idventainner join producto p on p.idproducto=dv.idproductowhere left(p.codigo,2)='HD'

3. Listar los clientes que pertenecen a las zonas de descripción: zona 1 , zona 2 y zona 3

select c.idcliente,c.nombre+', '+c.apellido as Cliente,c.direccion,c.idzona,z.descripcion from cliente c inner join zona z on c.idzona=z.idzona where c.idzona like '[1,2,3]'

4. Listar sólo las categorías que tienen productos relacionados indicando para cada una de ellas su descripción y nombres de productos

select * from productoselect p.descripcion as Producto,c.descripcion as Categoria from categoria c inner join producto p on p.idcategoria=c.idcategoria

5. Listar los nombres de los productos comprados por los clientes asignados a la zona de código 1

select distinct dv.idproducto,p.descripcion,cl.idzona fromdetalleventa dv inner join venta v on dv.idventa=v.idventa inner join cliente cl on cl.idcliente=v.idclienteinner join producto p on p.idproducto=dv.idproductowhere cl.idzona=1

6. Listar los nombres de los productos comprados por los clientes asignados a la zona de descripción Zona1

select distinct dv.idproducto,p.descripcion,cl.idzona,z.descripcion fromdetalleventa dv inner join venta v on dv.idventa=v.idventa inner join cliente cl on cl.idcliente=v.idclienteinner join producto p on p.idproducto=dv.idproductoinner join zona z on z.idzona=cl.idzonawhere z.descripcion='chiclayo'

7. Listar el nombre completo de los clientes para los que se ha girado facturas por un importe total mayor a 1000 nuevos soles

select v.idcliente,c.nombre+' '+c.apellido as cliente,left(numerodocumento,1) as Documento,v.total

Page 2: Practica Dml Consultas MultiTab

from cliente c inner join venta v on v.idcliente=c.idclienteinner join detalleventa dv on v.idventa=dv.idventawhere left(numerodocumento,1)='f' and dv.importe>1000

8. Listar nombre de cliente, descripción de zona, nombre de producto y descripción de categoría de las facturas emitidas por un importe total mayor a 1000 nuevos soles

select v.idcliente,c.nombre+', '+c.apellido as cliente,z.descripcion as Zona,p.descripcion as Producto,ca.descripcion as Categoria,left(numerodocumento,1) as Documento,v.totalfrom cliente c inner join venta v on v.idcliente=c.idclienteinner join detalleventa dv on v.idventa=dv.idventainner join zona z on c.idzona=z.idzonainner join producto p on p.idproducto=dv.idproductoinner join categoria ca on ca.idcategoria=p.idcategoriawhere left(numerodocumento,1)='f' and v.total>1000

9. Listar el nombre completo de los clientes de la zona de descripción Zona1 que compraron el día 03 de abril del 2008

select c.idcliente,c.nombre+' '+c.apellido as cliente,z.idzona,z.descripcion as Zona from cliente c inner join zona z on c.idzona=z.idzonainner join venta v on v.idcliente=c.idclientewhere z.descripcion='chiclayo' and v.fecha='03/04/2008'

10. Listar el nombre completo de los clientes que compraron algún jueves del mes de abril del 2008

select c.idcliente,c.nombre+' '+c.apellido as cliente from cliente c inner join venta v on v.idcliente=c.idclientewhere datepart(weekday,v.fecha)=4 and month(v.fecha)=04 and year(v.fecha)=2008