EJERCICIO MEDIANTE CODIGO SQL, DE LA BASE DE DATOS UNOBASE DE ACCESS a SQL SERVER. Nota: el estudiante debe pasar la base de datos construida con sus datos a sql server y realizar las siguientes consultas. Consultas: 1. Realizar la consulta las categorías que empiecen con la letra c select * from [dbo].[Categorias] where nombre like 'c%'
2. Realizar la consulta las categorías que empiecen con la segunda letra e select * from [dbo].[Categorias] where nombre like '_e%'
3. Realizar la consulta los clientes que la tercera la letra se la t y la quinta n select * from [dbo].[Clientes] where nombre like '__t%' and nombre like '____n%'
4. Realizar la consulta los proveedores que viva en las ciudades que empiezan con la letra L y la cuarta letra se ha r select * from [dbo].[Proveedores] where ciudad like 'L%' and ciudad like '___r%'
5. Consultar todos los pedidos realizados por el cliente de código TOMSP select * from [dbo].[Pedidos] where IdCliente like 'TOMSP%'
6. Consultar todos los pedidos realizados por los clientes enviados a Brasil select [dbo].[Pedidos].[IdPedido] ,[dbo].[Pedidos].[IdCliente] ,[dbo].[Pedidos].[IdEmpleado] ,[dbo].[Pedidos].[FechaPed] ,[dbo].[Pedidos].[FechaEntr] ,[dbo].[Pedidos].[IdTransporte] ,[dbo].[Pedidos].[Cargo] ,[dbo].[Pedidos].[CPostalDes] from [dbo].[Pedidos], [dbo].Clientes, [dbo].Paises where [dbo].[Pedidos].[IdCliente]= [dbo].Clientes.IdCliente and [dbo].Paises.IdPais = 5 and [dbo].Clientes.IdPais=5
7. Consultar todos los pedidos de los clientes que tiene el valor de cargo mayor a 50 select * from [dbo].[Pedidos] where Cargo > 50
8. Consultar todos los pedidos realizados por el empleado que la segunda letra es la a select [dbo].[Pedidos].[IdPedido] ,[dbo].[Pedidos].[IdCliente] ,[dbo].[Pedidos].[IdEmpleado] ,[dbo].[Pedidos].[FechaPed]
,[dbo].[Pedidos].[FechaEntr] ,[dbo].[Pedidos].[IdTransporte] ,[dbo].[Pedidos].[Cargo] ,[dbo].[Pedidos].[CPostalDes] from [dbo].[Pedidos], [dbo].[Empleados] where [dbo].[Pedidos].IdEmpleado= [dbo].[Empleados].[IdEmpleado] and [Empleados].Nombre like '_a%'
9. Consultar todos los productos del pedido numero 10248 select [dbo].[Productos].[IdProducto] ,[dbo].[Productos].[NombreProducto] ,[dbo].[Productos].[IdProveedor] ,[dbo].[Productos].[IdCategoria] ,[dbo].[Productos].[PrecioUnidad] ,[dbo].[Productos].[PrecioCosto] ,[dbo].[Productos].[UnidadesEnExistencia] ,[dbo].[Productos].[Suspendido] ,[dbo].[DPedidos].IdPedido from [dbo].[DPedidos], [dbo].[Productos] where [dbo].[DPedidos].IdPedido = 10248 and [dbo].[DPedidos].IdProducto=[dbo].[Productos].IdProducto
10. Consultar todos los productos del pedido a Francia select [dbo].[Productos].[IdProducto] ,[dbo].[Productos].[NombreProducto] ,[dbo].[Productos].[IdProveedor] ,[dbo].[Productos].[IdCategoria] ,[dbo].[Productos].[PrecioUnidad] ,[dbo].[Productos].[PrecioCosto] ,[dbo].[Productos].[UnidadesEnExistencia] ,[dbo].[Productos].[Suspendido] from [dbo].[DPedidos], [dbo].[Productos],[dbo].[Pedidos], [dbo].Clientes, [dbo].Paises where [dbo].[Productos].IdProducto= [dbo].[DPedidos].[IdProducto] and [dbo].[Pedidos].IdPedido = [dbo].[DPedidos].IdPedido and [dbo].[Pedidos].[IdCliente]= [dbo].Clientes.IdCliente and [dbo].Paises.IdPais = 11 and [dbo].Clientes.IdPais = 11
11. Actualizar el precio por unitario a todos los producto del pedido 10254 un 2% y al descuento un 1.1% update [dbo].[Productos] set [dbo].[Productos].PrecioUnidad = ([dbo].[Productos].PrecioUnidad*0.02)+[dbo].[Productos].PrecioUnidad from [dbo].Productos, [dbo].[DPedidos] where [dbo].[DPedidos].IdProducto=[dbo].[Productos].IdProducto and [dbo].[DPedidos].IdPedido = 10254 update [dbo].[DPedidos] set [dbo].[DPedidos].Descuento = ([dbo].[DPedidos].Descuento*0.011)+[dbo].[DPedidos].Descuento from [dbo].Productos, [dbo].[DPedidos] where [dbo].[DPedidos].IdProducto=[dbo].[Productos].IdProducto and [dbo].[DPedidos].IdPedido = 10254
12. Actualizar el 20 % al precio unitario a los productos. update [dbo].[Productos] set [dbo].[Productos].PrecioUnidad=([dbo].[Productos].PrecioUnidad * 0.2)+[dbo].[Productos].PrecioUnidad
13. Incrementar a los todos los productos 20 unidades en existencia a todos los productos. update [dbo].[Productos] set [dbo].[Productos].UnidadesEnExistencia=[dbo].[Productos].UnidadesEnExistencia + 20
14. Cambiar la fecha de envió del año 1996 a 2006 update [dbo].[Pedidos] set [dbo].[Pedidos].FechaEntr = '2006' where year([dbo].[Pedidos].FechaEntr) = '1996'
15. Eliminar los registros de la tabla de pedidos que no tienen región destinario DELETE FROM [dbo].[Pedidos] from [dbo].[Pedidos] INNER JOIN [dbo].[DPedidos] on [dbo].[DPedidos].[idPedido]=[dbo].[Pedidos].[idPedido] where [dbo].[Pedidos].[CPostalDes] is Null
Primero borramos la Foreing Key (fk) de la tabla secundaria (la que depende de la tabla que queremos modificar.
Para la solución del ejercicio 15 debe de estudiar is null o not null de sql.