Documentos de Académico
Documentos de Profesional
Documentos de Cultura
SQL Vistas, Subconsultas, Etc
SQL Vistas, Subconsultas, Etc
----- Vistas ---Una vista es una consulta especial que se emplea para registrar selecciones complejas o que
se usan frecuentemente.
Una vez creada la vista se puede realizar una seleccin de los datos como si fuera esta una
tabla e incluso se puede utilizar para definir procedimientos almacenados.
EJEMPLOS :
1. Crear una vista que liste 3 campos de clientes
4. Utilizando la vista anterior , crear una vista que muestre el total de productos x
categoria
create view total_prodxcateg
as
select NombreCategora,COUNT(*)as Totalprodxcateg from v_productos
group by NombreCategora
go
select * from total_prodxcateg
5. Crear una vista que nos devuelva la cantidad de pedidos que tiene cada empleado en
los
---aos 94,95 y 96
6. Crear una vista que presente el total de pedido que tiene cada compaia de envio
SELECT NOMBRECATEGORA,NOMBREPRODUCTO
FROM Productos P INNER JOIN Categoras C
ON P.IdCategora =C.IdCategora
GO
SELECT NOMBRECATEGORA,NOMBREPRODUCTO
FROM Productos P , Categoras C
WHERE P.IdCategora =C.IdCategora
GO
SELECT NOMBRECATEGORA,NOMBREPRODUCTO
FROM Productos P FULL OUTER JOIN Categoras C
ON P.IdCategora =C.IdCategora
GO
SUBCONSULTAS
---- SUBCONSULTAS ---Una subconsulta es una consulta dentro de otra que se puede emplear para obtener totales
y seleccin de datos de tablas anidadas
EJEMPLOS :
---CONTAR A LOS CLIENTES DE UN DETERMINADO PAS--select distinct Pas ,(select COUNT(*)
from Clientes c2
where c2.Pas =c1.Pas)
as total_clientes
from Clientes c1
order by Pas
go
---SUMA EL PRECIO DE UNA CATEGORA DE PRODUCTOS --select Nombrecategora,(select SUM(PrecioUnidad)from Productos p
where p.IdCategora = c.IdCategora )as Suma_PrecioUnidad
from Categoras c
go
---CUENTA LOS PEDIDOS DEL CLIENTE --select NombreCompaa ,(select COUNT(*)from Pedidos p where p.IdCliente=c.IdCliente )
as Pedidos_Del_Cliente
from Clientes c
go
---CLIENTES QUE SEAN DE MXICO --select NombreCompaa as Clientes from Clientes
where IdCliente IN (select IdCliente from Clientes where Pas='Mxico')
go
---CLIENTES QUE COMPRARON EL PRODUCTO PEZ ESPADA --select NombreCompaa as Clientes from Clientes where IdCliente in
(select IdCliente from Pedidos where IdPedido in
(select IdPedido from DetallesDepedidos where IdProducto in
(select IdProducto from Productos where NombreProducto='Pez Espada')))
go