SlideShare una empresa de Scribd logo
1. VISTAS 
----- 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 selección 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 
create view v_listaclientes 
as 
select IdCliente,NombreCompañía,País from Clientes 
go 
nota : para ejecutar la vista se hace lo siguiente 
select * from v_listaclientes 
go 
2. Crear una vista que muestre el subtotal de los pedidos 
create view v_subtotal 
as 
select IdPedido,SUM(d.PrecioUnidad * Cantidad * (1-d.Descuento ))as Subtotal 
from DetallesDepedidos d 
inner join Productos p 
on d.IdProducto=p.IdProducto 
group by IdPedido 
go
select * from v_subtotal 
go 
3. Crear una vista que liste NombreProducto,NombreCategoría,PrecioUnidad,Suspendido 
create view v_productos 
as 
select NombreProducto,NombreCategoría,PrecioUnidad,Suspendido from Productos p 
inner join Categorías c on p.IdCategoría =c.IdCategoría 
go 
select * from v_productos 
order by NombreCategoría,NombreProducto 
go 
4. Utilizando la vista anterior , crear una vista que muestre el total de productos x categoria 
create view total_prodxcateg 
as 
select NombreCategoría,COUNT(*)as Totalprodxcateg from v_productos 
group by NombreCategoría 
go 
select * from total_prodxcateg 
5. Crear una vista que nos devuelva la cantidad de pedidos que tiene cada empleado en los 
---años 94,95 y 96 
create view v_cant_pedidos
as 
select Nombre,(Select COUNT (*)from v_empleado e where e.Nombre=c.Nombre and 
YEAR(FechaPedido)=1994) as Año_1994, 
(select COUNT(*)from v_empleado e where e.Nombre=c.Nombre and 
YEAR(FechaPedido)=1995)as Año_1995, 
(select COUNT(*)from v_empleado e where e.Nombre =c.Nombre and 
YEAR(FechaPedido)=1996)as Año_1996 
from v_empleado c 
group by Nombre 
select * from v_cant_pedidos 
6. Crear una vista que presente el total de pedido que tiene cada compañia de envio 
create view v_totalpedidos 
as 
select NombreCompañía,COUNT(*)as Total_Pedidos from v_compañia 
group by NombreCompañía 
go 
select * from v_totalpedidos 
Publicado 12th July 2012 por kevin lopez chavez 
0 
Añadir un comentario 
2. 
3. 
JUL 
12
COMBINACION DE TABLAS 
Bienvenidos a mi blog !!!!! 
Aquí Ud. podrá conocer y aprender un poco mas de SQL SERVER 2008,con ejercicios resueltos y 
bien explicados. 
Bueno comencemos con lo ejercicios, ya que la teoría ustedes ya saben y si no ?? 
Me la escriben... 
---- Combinación de Tablas ----- 
1 . Combinación Interna de Tablas 
Hay 2 formas de hacerlo: 
Para este caso lo voy hacer con la tabla Productos y Categorìas
- Primera Forma : (INNER JOIN) 
SELECT NOMBRECATEGORÍA,NOMBREPRODUCTO 
FROM Productos P INNER JOIN Categorías C 
ON P.IdCategoría =C.IdCategoría 
GO 
-Segunda Forma : (WHERE) 
SELECT NOMBRECATEGORÍA,NOMBREPRODUCTO 
FROM Productos P , Categorías C
WHERE P.IdCategoría =C.IdCategoría 
GO 
2. Combinación Externa de Tablas 
-- IZQUIERDA ---> LISTA TODAS LOS PRODUCTOS QUE NO TIENEN CATEGORÍAS 
SELECT NOMBRECATEGORÍA,NOMBREPRODUCTO 
FROM Productos P LEFT OUTER JOIN Categorías C 
ON P.IdCategoría =C.IdCategoría 
GO 
---DERECHA ---> LISTA TODAS LA CATEGORÍAS QUE NO TIENES PRODUCTOS 
SELECT NOMBRECATEGORÍA,NOMBREPRODUCTO 
FROM Productos P RIGHT OUTER JOIN Categorías C 
ON P.IdCategoría =C.IdCategoría 
GO 
---- COMPLETA ----> LISTA TODOS LOS PRODUCTOS CON SUS CATEGORÍAS, 
PRODUCTOS QUE NO TIENE CATEGORÍAS 
Y LAS CATEGORIAS QUE NO TIENEN PRODUCTOS 
SELECT NOMBRECATEGORÍA,NOMBREPRODUCTO 
FROM Productos P FULL OUTER JOIN Categorías C 
ON P.IdCategoría =C.IdCategoría 
GO 
Publicado 12th July 2012 por kevin lopez chavez 
0 
Añadir un comentario 
4. 
JUL 
12 
CREACION DE BASE DE DATOS 
---- CREACION DE BASE DE DATOS ----
Creamos la base de datos llamada ventas 
create database ventas 
go 
use ventas 
go 
Para crear la tabla tienda preguntamos si existe, si existe la borramos y la creamos para 
evitar errores al momento de ejecutar varias veces 
if exists(select * from sysobjects where type ='u' and name ='Tienda') 
drop table Tienda 
go 
create table Tienda 
( 
IdTienda int identity(1,1)primary key, 
NombreTienda varchar(30) not null, 
Estado varchar(10)not null) 
go 
nota : 
- estoy estableciendo que el campo IdTienda es llave primaria 
- estoy estableciendo que el campo NombreTienda tiene que ser llenado obligatoriamente al 
momento 
de ingresar un nuevo registro 
Creamos la tabla TiendaProducto 
if exists(select * from sysobjects where type='u' and name ='TiendaProducto') 
drop table TiendaProducto 
go 
create table TiendaProducto 
( 
IdTienda int not null, 
IdProducto int not null, 
Cantidad int ) 
go 
-estoy asignando dos llaves primarias a la tabla TiendaProducto 
alter table TiendaProducto add constraint pk_TiendaProducto primary key(IdTienda,IdProducto) 
-estoy relacionando el campo IdTienda que es llave primaria con el campo IdTienda de la tabla
Tienda 
alter table TiendaProducto add constraint fk_TiendaProducto foreign key(IdTienda) references 
Tienda(IdTienda) 
-estoy relacionando el campo IdProducto que es llave primaria con el campo IdProducto de la 
tabla Producto 
alter table TiendaProducto add constraint fk_TiendaProduct foreign key(IdProducto) references 
Producto(IdProducto) 
Creamos la tabla Producto 
if exists(select * from sysobjects where type='u' and name ='Producto') 
drop table Producto 
go 
create table Producto 
( 
IdProducto int identity(1,1)primary key, 
NombreProducto char(30) not null, 
Precio Money not null) 
go 
Creamos la tabla Empleado 
if exists(select * from sysobjects where type='u' and name ='Empleado') 
drop table Empleado 
go 
create table Empleado 
( 
IdEmpleado int identity(1,1)primary key, 
Nombres char(30) not null, 
Apellidos varchar(30)not null, 
-relaciono el campo IdTienda de Empleado con IdTienda de Tienda 
IdTienda int foreign key references Tienda(IdTienda)) 
go 
Estas lineas de código es para generar el diagrama de tablas relacionadas 
exec sp_dbcmptlevel 'ventas','90'; 
alter authorization on database ::ventas to Sa 
exec sp_dbcmptlevel 'ventas','90'; 
go 
Publicado 12th July 2012 por kevin lopez chavez
0 
Añadir un comentario 
5. 
JUL 
12 
SUBCONSULTAS 
---- SUBCONSULTAS ---- 
Una subconsulta es una consulta dentro de otra que se puede emplear para obtener totales 
y selección de datos de tablas anidadas 
EJEMPLOS : 
---CONTAR A LOS CLIENTES DE UN DETERMINADO PAÍS--- 
select distinct País ,(select COUNT(*) 
from Clientes c2 
where c2.País =c1.País) 
as total_clientes 
from Clientes c1 
order by País 
go 
---SUMA EL PRECIO DE UNA CATEGORÍA DE PRODUCTOS --- 
select Nombrecategoría,(select SUM(PrecioUnidad)from Productos p 
where p.IdCategoría = c.IdCategoría )as Suma_PrecioUnidad 
from Categorías c 
go 
---CUENTA LOS PEDIDOS DEL CLIENTE --- 
select NombreCompañía ,(select COUNT(*)from Pedidos p where p.IdCliente=c.IdCliente ) 
as Pedidos_Del_Cliente 
from Clientes c 
go 
---CLIENTES QUE SEAN DE MÉXICO --- 
select NombreCompañía as Clientes from Clientes 
where IdCliente IN (select IdCliente from Clientes where País='México')
go 
---CLIENTES QUE COMPRARON EL PRODUCTO PEZ ESPADA --- 
select NombreCompañía 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 
---MUESTRA LA CANTIDAD DE PEDIDOS POR AÑO --- 
select distinct year(fechaPedido),(select COUNT(*) 
from Pedidos d 
where year(d.FechaPedido ) = year(p.FechaPedido )) 
as Pedidos_X_Año 
from Pedidos p 
go

Más contenido relacionado

La actualidad más candente

Proyecto Base de Datos I
Proyecto Base de Datos IProyecto Base de Datos I
Proyecto Base de Datos IMarcia Ramos
 
Cuadro de sentencias con descripcion y ejemplo
Cuadro de sentencias con descripcion y ejemploCuadro de sentencias con descripcion y ejemplo
Cuadro de sentencias con descripcion y ejemplo
William Sánchez
 
Práctica 3 y 4
Práctica 3 y 4Práctica 3 y 4
Práctica 3 y 4shernanva
 
Unidad iii dql
Unidad iii dqlUnidad iii dql
Unidad iii dql
anacmaduro
 
Ejercicios bbdd
Ejercicios bbddEjercicios bbdd
Tarea 4
Tarea 4Tarea 4
Tarea 4
Alex Yungan
 
Manual siadeg requerimiento
Manual siadeg   requerimientoManual siadeg   requerimiento
Manual siadeg requerimiento
JorgeQuispe67
 
Ejercicios de access 2007 10 Grado
Ejercicios de access 2007 10 GradoEjercicios de access 2007 10 Grado
Ejercicios de access 2007 10 Grado
Inmaculada Concepción
 
Métodos abreviados de teclado de windows1
Métodos abreviados de teclado de windows1Métodos abreviados de teclado de windows1
Métodos abreviados de teclado de windows1
Brenda Torres
 

La actualidad más candente (11)

Proyecto Base de Datos I
Proyecto Base de Datos IProyecto Base de Datos I
Proyecto Base de Datos I
 
Cuadro de sentencias con descripcion y ejemplo
Cuadro de sentencias con descripcion y ejemploCuadro de sentencias con descripcion y ejemplo
Cuadro de sentencias con descripcion y ejemplo
 
Examen final de sql nadia
Examen final de sql nadiaExamen final de sql nadia
Examen final de sql nadia
 
Práctica 3 y 4
Práctica 3 y 4Práctica 3 y 4
Práctica 3 y 4
 
Unidad iii dql
Unidad iii dqlUnidad iii dql
Unidad iii dql
 
Ejercicios bbdd
Ejercicios bbddEjercicios bbdd
Ejercicios bbdd
 
Tarea 4
Tarea 4Tarea 4
Tarea 4
 
Manual siadeg requerimiento
Manual siadeg   requerimientoManual siadeg   requerimiento
Manual siadeg requerimiento
 
Beta
BetaBeta
Beta
 
Ejercicios de access 2007 10 Grado
Ejercicios de access 2007 10 GradoEjercicios de access 2007 10 Grado
Ejercicios de access 2007 10 Grado
 
Métodos abreviados de teclado de windows1
Métodos abreviados de teclado de windows1Métodos abreviados de teclado de windows1
Métodos abreviados de teclado de windows1
 

Similar a Teoria de sql y ejercicios

Tutorial MIneria de datos en sql server
Tutorial  MIneria de datos en sql serverTutorial  MIneria de datos en sql server
Tutorial MIneria de datos en sql server
Ris Fernandez
 
Ejercicios sql (1)
Ejercicios sql (1)Ejercicios sql (1)
Ejercicios sql (1)
Noemy Gutierrez
 
Mejoras en T-SQL para SQL Server 2005
Mejoras en T-SQL para SQL Server 2005Mejoras en T-SQL para SQL Server 2005
Mejoras en T-SQL para SQL Server 2005
pabloesp
 
Taller Transact SQL ITProsDC - T2
Taller Transact SQL ITProsDC - T2Taller Transact SQL ITProsDC - T2
Taller Transact SQL ITProsDC - T2
Julián Castiblanco
 
bd2-teorico02.pdf
bd2-teorico02.pdfbd2-teorico02.pdf
bd2-teorico02.pdf
srmv59
 
Sql
SqlSql
Proyecto de base de datos completo
Proyecto de base de datos completoProyecto de base de datos completo
Proyecto de base de datos completoJennnylu10
 
CONSULTAS_AVANZADAS_SQL.pptx
CONSULTAS_AVANZADAS_SQL.pptxCONSULTAS_AVANZADAS_SQL.pptx
CONSULTAS_AVANZADAS_SQL.pptx
JuanManuelFernandezA2
 
CONSULTAS AVANZADAS SQL.pptx
CONSULTAS AVANZADAS SQL.pptxCONSULTAS AVANZADAS SQL.pptx
CONSULTAS AVANZADAS SQL.pptx
JuanManuelFernandezA2
 
EJECICIO DE BASE DE DATOS TIENDA SQL
EJECICIO DE BASE DE DATOS TIENDA SQLEJECICIO DE BASE DE DATOS TIENDA SQL
EJECICIO DE BASE DE DATOS TIENDA SQL
Ruth Cujilan
 
Proyecto BD parcial 3 ♥ ISSA ♥ VELEZ♥ MORALES
Proyecto BD parcial 3 ♥ ISSA ♥ VELEZ♥ MORALESProyecto BD parcial 3 ♥ ISSA ♥ VELEZ♥ MORALES
Proyecto BD parcial 3 ♥ ISSA ♥ VELEZ♥ MORALES
Isabel Vlz MoOrales
 
Ejercicios sql
Ejercicios sqlEjercicios sql
Ejercicios sql
MaraMagdalenaBlancoR
 
Agrupando datos en SQL Server
Agrupando datos en SQL ServerAgrupando datos en SQL Server
Agrupando datos en SQL Server
Julián Castiblanco
 
Ejercicios sql
Ejercicios sqlEjercicios sql
Sql ejercicios resueltos
Sql ejercicios resueltosSql ejercicios resueltos
Sql ejercicios resueltos
Jhon Jairo Pertuz Arenilla
 
Ejercicios sql
Ejercicios sqlEjercicios sql
Ejercicios sql
Mauro Jiménez
 
Varios codigos sql
Varios codigos sqlVarios codigos sql
Varios codigos sql
Katherine Quiroz Chavarry
 
Guía 05. Consultas resumen con MySQL - José J Sánchez H
Guía 05. Consultas resumen con MySQL - José J Sánchez HGuía 05. Consultas resumen con MySQL - José J Sánchez H
Guía 05. Consultas resumen con MySQL - José J Sánchez H
José Ricardo Tillero Giménez
 
Access grado 11 1
Access grado 11 1Access grado 11 1
Access grado 11 1shernanva
 
Taller Básico Sentencias SQL
Taller Básico Sentencias SQL Taller Básico Sentencias SQL
Taller Básico Sentencias SQL
Julián Castiblanco
 

Similar a Teoria de sql y ejercicios (20)

Tutorial MIneria de datos en sql server
Tutorial  MIneria de datos en sql serverTutorial  MIneria de datos en sql server
Tutorial MIneria de datos en sql server
 
Ejercicios sql (1)
Ejercicios sql (1)Ejercicios sql (1)
Ejercicios sql (1)
 
Mejoras en T-SQL para SQL Server 2005
Mejoras en T-SQL para SQL Server 2005Mejoras en T-SQL para SQL Server 2005
Mejoras en T-SQL para SQL Server 2005
 
Taller Transact SQL ITProsDC - T2
Taller Transact SQL ITProsDC - T2Taller Transact SQL ITProsDC - T2
Taller Transact SQL ITProsDC - T2
 
bd2-teorico02.pdf
bd2-teorico02.pdfbd2-teorico02.pdf
bd2-teorico02.pdf
 
Sql
SqlSql
Sql
 
Proyecto de base de datos completo
Proyecto de base de datos completoProyecto de base de datos completo
Proyecto de base de datos completo
 
CONSULTAS_AVANZADAS_SQL.pptx
CONSULTAS_AVANZADAS_SQL.pptxCONSULTAS_AVANZADAS_SQL.pptx
CONSULTAS_AVANZADAS_SQL.pptx
 
CONSULTAS AVANZADAS SQL.pptx
CONSULTAS AVANZADAS SQL.pptxCONSULTAS AVANZADAS SQL.pptx
CONSULTAS AVANZADAS SQL.pptx
 
EJECICIO DE BASE DE DATOS TIENDA SQL
EJECICIO DE BASE DE DATOS TIENDA SQLEJECICIO DE BASE DE DATOS TIENDA SQL
EJECICIO DE BASE DE DATOS TIENDA SQL
 
Proyecto BD parcial 3 ♥ ISSA ♥ VELEZ♥ MORALES
Proyecto BD parcial 3 ♥ ISSA ♥ VELEZ♥ MORALESProyecto BD parcial 3 ♥ ISSA ♥ VELEZ♥ MORALES
Proyecto BD parcial 3 ♥ ISSA ♥ VELEZ♥ MORALES
 
Ejercicios sql
Ejercicios sqlEjercicios sql
Ejercicios sql
 
Agrupando datos en SQL Server
Agrupando datos en SQL ServerAgrupando datos en SQL Server
Agrupando datos en SQL Server
 
Ejercicios sql
Ejercicios sqlEjercicios sql
Ejercicios sql
 
Sql ejercicios resueltos
Sql ejercicios resueltosSql ejercicios resueltos
Sql ejercicios resueltos
 
Ejercicios sql
Ejercicios sqlEjercicios sql
Ejercicios sql
 
Varios codigos sql
Varios codigos sqlVarios codigos sql
Varios codigos sql
 
Guía 05. Consultas resumen con MySQL - José J Sánchez H
Guía 05. Consultas resumen con MySQL - José J Sánchez HGuía 05. Consultas resumen con MySQL - José J Sánchez H
Guía 05. Consultas resumen con MySQL - José J Sánchez H
 
Access grado 11 1
Access grado 11 1Access grado 11 1
Access grado 11 1
 
Taller Básico Sentencias SQL
Taller Básico Sentencias SQL Taller Básico Sentencias SQL
Taller Básico Sentencias SQL
 

Último

Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Monseespinoza6
 
corpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdfcorpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdf
YolandaRodriguezChin
 
Conocemos la ermita de Ntra. Sra. del Arrabal
Conocemos la ermita de Ntra. Sra. del ArrabalConocemos la ermita de Ntra. Sra. del Arrabal
Conocemos la ermita de Ntra. Sra. del Arrabal
Profes de Relideleón Apellidos
 
Friedrich Nietzsche. Presentación de 2 de Bachillerato.
Friedrich Nietzsche. Presentación de 2 de Bachillerato.Friedrich Nietzsche. Presentación de 2 de Bachillerato.
Friedrich Nietzsche. Presentación de 2 de Bachillerato.
pablomarin116
 
Libro infantil sapo y sepo un año entero pdf
Libro infantil sapo y sepo un año entero pdfLibro infantil sapo y sepo un año entero pdf
Libro infantil sapo y sepo un año entero pdf
danitarb
 
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptxSemana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
LorenaCovarrubias12
 
MIP PAPA Rancha Papa.pdf.....y caracteristicas
MIP PAPA  Rancha Papa.pdf.....y caracteristicasMIP PAPA  Rancha Papa.pdf.....y caracteristicas
MIP PAPA Rancha Papa.pdf.....y caracteristicas
jheisonraulmedinafer
 
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptxc3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
Martín Ramírez
 
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptxCLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
LilianaRivera778668
 
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdfAsistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Demetrio Ccesa Rayme
 
El lugar mas bonito del mundo resumen del libro
El lugar mas bonito del mundo resumen del libroEl lugar mas bonito del mundo resumen del libro
El lugar mas bonito del mundo resumen del libro
Distea V región
 
Introducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BIIntroducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BI
arleyo2006
 
Junio 2024 Fotocopiables Ediba actividades
Junio 2024 Fotocopiables Ediba actividadesJunio 2024 Fotocopiables Ediba actividades
Junio 2024 Fotocopiables Ediba actividades
cintiat3400
 
1º GRADO CONCLUSIONES DESCRIPTIVAS PRIMARIA.docx
1º GRADO CONCLUSIONES DESCRIPTIVAS  PRIMARIA.docx1º GRADO CONCLUSIONES DESCRIPTIVAS  PRIMARIA.docx
1º GRADO CONCLUSIONES DESCRIPTIVAS PRIMARIA.docx
FelixCamachoGuzman
 
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdfFORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
El Fortí
 
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
auxsoporte
 
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
JAVIER SOLIS NOYOLA
 
Varón de 30 años acude a consulta por presentar hipertensión arterial de reci...
Varón de 30 años acude a consulta por presentar hipertensión arterial de reci...Varón de 30 años acude a consulta por presentar hipertensión arterial de reci...
Varón de 30 años acude a consulta por presentar hipertensión arterial de reci...
HuallpaSamaniegoSeba
 
PPT: El fundamento del gobierno de Dios.
PPT: El fundamento del gobierno de Dios.PPT: El fundamento del gobierno de Dios.
PPT: El fundamento del gobierno de Dios.
https://gramadal.wordpress.com/
 
Automatización de proceso de producción de la empresa Gloria SA (1).pptx
Automatización de proceso de producción de la empresa Gloria SA (1).pptxAutomatización de proceso de producción de la empresa Gloria SA (1).pptx
Automatización de proceso de producción de la empresa Gloria SA (1).pptx
GallardoJahse
 

Último (20)

Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
 
corpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdfcorpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdf
 
Conocemos la ermita de Ntra. Sra. del Arrabal
Conocemos la ermita de Ntra. Sra. del ArrabalConocemos la ermita de Ntra. Sra. del Arrabal
Conocemos la ermita de Ntra. Sra. del Arrabal
 
Friedrich Nietzsche. Presentación de 2 de Bachillerato.
Friedrich Nietzsche. Presentación de 2 de Bachillerato.Friedrich Nietzsche. Presentación de 2 de Bachillerato.
Friedrich Nietzsche. Presentación de 2 de Bachillerato.
 
Libro infantil sapo y sepo un año entero pdf
Libro infantil sapo y sepo un año entero pdfLibro infantil sapo y sepo un año entero pdf
Libro infantil sapo y sepo un año entero pdf
 
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptxSemana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
 
MIP PAPA Rancha Papa.pdf.....y caracteristicas
MIP PAPA  Rancha Papa.pdf.....y caracteristicasMIP PAPA  Rancha Papa.pdf.....y caracteristicas
MIP PAPA Rancha Papa.pdf.....y caracteristicas
 
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptxc3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
 
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptxCLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
 
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdfAsistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
 
El lugar mas bonito del mundo resumen del libro
El lugar mas bonito del mundo resumen del libroEl lugar mas bonito del mundo resumen del libro
El lugar mas bonito del mundo resumen del libro
 
Introducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BIIntroducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BI
 
Junio 2024 Fotocopiables Ediba actividades
Junio 2024 Fotocopiables Ediba actividadesJunio 2024 Fotocopiables Ediba actividades
Junio 2024 Fotocopiables Ediba actividades
 
1º GRADO CONCLUSIONES DESCRIPTIVAS PRIMARIA.docx
1º GRADO CONCLUSIONES DESCRIPTIVAS  PRIMARIA.docx1º GRADO CONCLUSIONES DESCRIPTIVAS  PRIMARIA.docx
1º GRADO CONCLUSIONES DESCRIPTIVAS PRIMARIA.docx
 
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdfFORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
 
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
 
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
ROMPECABEZAS DE ECUACIONES DE PRIMER GRADO OLIMPIADA DE PARÍS 2024. Por JAVIE...
 
Varón de 30 años acude a consulta por presentar hipertensión arterial de reci...
Varón de 30 años acude a consulta por presentar hipertensión arterial de reci...Varón de 30 años acude a consulta por presentar hipertensión arterial de reci...
Varón de 30 años acude a consulta por presentar hipertensión arterial de reci...
 
PPT: El fundamento del gobierno de Dios.
PPT: El fundamento del gobierno de Dios.PPT: El fundamento del gobierno de Dios.
PPT: El fundamento del gobierno de Dios.
 
Automatización de proceso de producción de la empresa Gloria SA (1).pptx
Automatización de proceso de producción de la empresa Gloria SA (1).pptxAutomatización de proceso de producción de la empresa Gloria SA (1).pptx
Automatización de proceso de producción de la empresa Gloria SA (1).pptx
 

Teoria de sql y ejercicios

  • 1. 1. VISTAS ----- 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 selección 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 create view v_listaclientes as select IdCliente,NombreCompañía,País from Clientes go nota : para ejecutar la vista se hace lo siguiente select * from v_listaclientes go 2. Crear una vista que muestre el subtotal de los pedidos create view v_subtotal as select IdPedido,SUM(d.PrecioUnidad * Cantidad * (1-d.Descuento ))as Subtotal from DetallesDepedidos d inner join Productos p on d.IdProducto=p.IdProducto group by IdPedido go
  • 2. select * from v_subtotal go 3. Crear una vista que liste NombreProducto,NombreCategoría,PrecioUnidad,Suspendido create view v_productos as select NombreProducto,NombreCategoría,PrecioUnidad,Suspendido from Productos p inner join Categorías c on p.IdCategoría =c.IdCategoría go select * from v_productos order by NombreCategoría,NombreProducto go 4. Utilizando la vista anterior , crear una vista que muestre el total de productos x categoria create view total_prodxcateg as select NombreCategoría,COUNT(*)as Totalprodxcateg from v_productos group by NombreCategoría go select * from total_prodxcateg 5. Crear una vista que nos devuelva la cantidad de pedidos que tiene cada empleado en los ---años 94,95 y 96 create view v_cant_pedidos
  • 3. as select Nombre,(Select COUNT (*)from v_empleado e where e.Nombre=c.Nombre and YEAR(FechaPedido)=1994) as Año_1994, (select COUNT(*)from v_empleado e where e.Nombre=c.Nombre and YEAR(FechaPedido)=1995)as Año_1995, (select COUNT(*)from v_empleado e where e.Nombre =c.Nombre and YEAR(FechaPedido)=1996)as Año_1996 from v_empleado c group by Nombre select * from v_cant_pedidos 6. Crear una vista que presente el total de pedido que tiene cada compañia de envio create view v_totalpedidos as select NombreCompañía,COUNT(*)as Total_Pedidos from v_compañia group by NombreCompañía go select * from v_totalpedidos Publicado 12th July 2012 por kevin lopez chavez 0 Añadir un comentario 2. 3. JUL 12
  • 4. COMBINACION DE TABLAS Bienvenidos a mi blog !!!!! Aquí Ud. podrá conocer y aprender un poco mas de SQL SERVER 2008,con ejercicios resueltos y bien explicados. Bueno comencemos con lo ejercicios, ya que la teoría ustedes ya saben y si no ?? Me la escriben... ---- Combinación de Tablas ----- 1 . Combinación Interna de Tablas Hay 2 formas de hacerlo: Para este caso lo voy hacer con la tabla Productos y Categorìas
  • 5. - Primera Forma : (INNER JOIN) SELECT NOMBRECATEGORÍA,NOMBREPRODUCTO FROM Productos P INNER JOIN Categorías C ON P.IdCategoría =C.IdCategoría GO -Segunda Forma : (WHERE) SELECT NOMBRECATEGORÍA,NOMBREPRODUCTO FROM Productos P , Categorías C
  • 6. WHERE P.IdCategoría =C.IdCategoría GO 2. Combinación Externa de Tablas -- IZQUIERDA ---> LISTA TODAS LOS PRODUCTOS QUE NO TIENEN CATEGORÍAS SELECT NOMBRECATEGORÍA,NOMBREPRODUCTO FROM Productos P LEFT OUTER JOIN Categorías C ON P.IdCategoría =C.IdCategoría GO ---DERECHA ---> LISTA TODAS LA CATEGORÍAS QUE NO TIENES PRODUCTOS SELECT NOMBRECATEGORÍA,NOMBREPRODUCTO FROM Productos P RIGHT OUTER JOIN Categorías C ON P.IdCategoría =C.IdCategoría GO ---- COMPLETA ----> LISTA TODOS LOS PRODUCTOS CON SUS CATEGORÍAS, PRODUCTOS QUE NO TIENE CATEGORÍAS Y LAS CATEGORIAS QUE NO TIENEN PRODUCTOS SELECT NOMBRECATEGORÍA,NOMBREPRODUCTO FROM Productos P FULL OUTER JOIN Categorías C ON P.IdCategoría =C.IdCategoría GO Publicado 12th July 2012 por kevin lopez chavez 0 Añadir un comentario 4. JUL 12 CREACION DE BASE DE DATOS ---- CREACION DE BASE DE DATOS ----
  • 7. Creamos la base de datos llamada ventas create database ventas go use ventas go Para crear la tabla tienda preguntamos si existe, si existe la borramos y la creamos para evitar errores al momento de ejecutar varias veces if exists(select * from sysobjects where type ='u' and name ='Tienda') drop table Tienda go create table Tienda ( IdTienda int identity(1,1)primary key, NombreTienda varchar(30) not null, Estado varchar(10)not null) go nota : - estoy estableciendo que el campo IdTienda es llave primaria - estoy estableciendo que el campo NombreTienda tiene que ser llenado obligatoriamente al momento de ingresar un nuevo registro Creamos la tabla TiendaProducto if exists(select * from sysobjects where type='u' and name ='TiendaProducto') drop table TiendaProducto go create table TiendaProducto ( IdTienda int not null, IdProducto int not null, Cantidad int ) go -estoy asignando dos llaves primarias a la tabla TiendaProducto alter table TiendaProducto add constraint pk_TiendaProducto primary key(IdTienda,IdProducto) -estoy relacionando el campo IdTienda que es llave primaria con el campo IdTienda de la tabla
  • 8. Tienda alter table TiendaProducto add constraint fk_TiendaProducto foreign key(IdTienda) references Tienda(IdTienda) -estoy relacionando el campo IdProducto que es llave primaria con el campo IdProducto de la tabla Producto alter table TiendaProducto add constraint fk_TiendaProduct foreign key(IdProducto) references Producto(IdProducto) Creamos la tabla Producto if exists(select * from sysobjects where type='u' and name ='Producto') drop table Producto go create table Producto ( IdProducto int identity(1,1)primary key, NombreProducto char(30) not null, Precio Money not null) go Creamos la tabla Empleado if exists(select * from sysobjects where type='u' and name ='Empleado') drop table Empleado go create table Empleado ( IdEmpleado int identity(1,1)primary key, Nombres char(30) not null, Apellidos varchar(30)not null, -relaciono el campo IdTienda de Empleado con IdTienda de Tienda IdTienda int foreign key references Tienda(IdTienda)) go Estas lineas de código es para generar el diagrama de tablas relacionadas exec sp_dbcmptlevel 'ventas','90'; alter authorization on database ::ventas to Sa exec sp_dbcmptlevel 'ventas','90'; go Publicado 12th July 2012 por kevin lopez chavez
  • 9. 0 Añadir un comentario 5. JUL 12 SUBCONSULTAS ---- SUBCONSULTAS ---- Una subconsulta es una consulta dentro de otra que se puede emplear para obtener totales y selección de datos de tablas anidadas EJEMPLOS : ---CONTAR A LOS CLIENTES DE UN DETERMINADO PAÍS--- select distinct País ,(select COUNT(*) from Clientes c2 where c2.País =c1.País) as total_clientes from Clientes c1 order by País go ---SUMA EL PRECIO DE UNA CATEGORÍA DE PRODUCTOS --- select Nombrecategoría,(select SUM(PrecioUnidad)from Productos p where p.IdCategoría = c.IdCategoría )as Suma_PrecioUnidad from Categorías c go ---CUENTA LOS PEDIDOS DEL CLIENTE --- select NombreCompañía ,(select COUNT(*)from Pedidos p where p.IdCliente=c.IdCliente ) as Pedidos_Del_Cliente from Clientes c go ---CLIENTES QUE SEAN DE MÉXICO --- select NombreCompañía as Clientes from Clientes where IdCliente IN (select IdCliente from Clientes where País='México')
  • 10. go ---CLIENTES QUE COMPRARON EL PRODUCTO PEZ ESPADA --- select NombreCompañía 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 ---MUESTRA LA CANTIDAD DE PEDIDOS POR AÑO --- select distinct year(fechaPedido),(select COUNT(*) from Pedidos d where year(d.FechaPedido ) = year(p.FechaPedido )) as Pedidos_X_Año from Pedidos p go