0% encontró este documento útil (0 votos)
64 vistas10 páginas

SQL-Ejercicio 3

Este documento presenta 12 ejercicios sobre estructuras condicionales y bucles en SQL. Cada ejercicio realiza consultas y actualizaciones en una base de datos usando variables y condicionales IF. Los ejercicios incluyen filtrar datos, agregar cálculos, modificar registros y mostrar mensajes.

Cargado por

JH Benjamin
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
64 vistas10 páginas

SQL-Ejercicio 3

Este documento presenta 12 ejercicios sobre estructuras condicionales y bucles en SQL. Cada ejercicio realiza consultas y actualizaciones en una base de datos usando variables y condicionales IF. Los ejercicios incluyen filtrar datos, agregar cálculos, modificar registros y mostrar mensajes.

Cargado por

JH Benjamin
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 10

GUIA DE EJERCICIO

Asignatura: Base de Datos II Fecha:04/04/2022 15:39


Lic. Claudia Romá n F.
SQL Avanzado Ejercicio 3
Estructuras condicionales y bucles

Actividad 1

En la base de datos neptuno:

Usando TRANSACT/SQL, realiza las siguientes consultas:

1. Listar los clientes que estén registrados con un determinado país, el país debe estar en una variable. Probar con
Brasil.

declare @varpais varchar(100)


set @varpais='Brasil'

select*from clientes
where Pais=@varpais

4
GUIA DE EJERCICIO
Asignatura: Base de Datos II Fecha:04/04/2022 15:39
Lic. Claudia Romá n F.
SQL Avanzado Ejercicio 3
Estructuras condicionales y bucles

2. Listar los empleados con un sueldo básico mayor a 500, el sueldo básico debe estar en una variable. Probar con un
sueldo de 500.

declare @varsuel decimal


set @varsuel=500

select*from Empleados
where sueldoBasico>@varsuel

3. Mostrar la cantidad de empleados de una ciudad variable. Probar con ‘Londres’.

declare @varciudad varchar(15), @varemp int


set @varciudad='Londres'

select @varemp=COUNT(*) from Empleados


where ciudad=@varciudad

print @varemp

4
GUIA DE EJERCICIO
Asignatura: Base de Datos II Fecha:04/04/2022 15:39
Lic. Claudia Romá n F.
SQL Avanzado Ejercicio 3
Estructuras condicionales y bucles

4. Listar el nombre del producto y sus unidades en existencia, con unidades en existencia con un valor menor igual a un
punto de reorden, el punto de reorden debe ser variable. Probar con un punto de reorden =20.

declare @reorden int


set @reorden=20

select nombreProducto,unidadesEnExistencia
from productos
where unidadesEnExistencia<=@reorden
order by 2

4
GUIA DE EJERCICIO
Asignatura: Base de Datos II Fecha:04/04/2022 15:39
Lic. Claudia Romá n F.
5. SQL Avanzado Ejercicio 3
Estructuras condicionales y bucles

Mostrar la cantidad de productos que tienen unidades en pedido o el mensaje “No hay productos con unidades en
pedido” si la cantidad es 0.

declare @cant int, @varuni int


set @cant=0

select @varuni=COUNT(*) from productos


where unidadesEnPedido>@cant

if @varuni<>0
print @varuni
else
print 'No hay productos con unidades en pedido'

6. Mostrar la cantidad de productos provistos por un proveedor o el mensaje 'Proveedor sin productos registrados' si la
cantidad es 0, se debe utilizar el id del proveedor como variable. Probar con el id proveedor =16.

declare @idprov int, @cantidad int


set @idprov=16

select @cantidad=count(*) from productos


where idProveedor=@idprov

if @cantidad<>0
print @cantidad
else
print 'Proveedor sin productos registrados'

4
GUIA DE EJERCICIO
Asignatura: Base de Datos II Fecha:04/04/2022 15:39
Lic. Claudia Romá n F.
SQL Avanzado Ejercicio 3
Estructuras condicionales y bucles

7. Listar fecha de pedido, fecha de envío, destinatario y país destinatario de los destinatarios de un país, que sea
variable, si no existen mostrar un mensaje adecuado. Probar con envíos a Bolivia y a Venezuela.
BOLIVIA VENEZUELA
declare @desti_pais varchar(60),@canti int declare @desti_pais varchar(60),@canti int
set @desti_pais='Bolivia' set @desti_pais='Venezuela'

select @canti=count(PaisDestinatario) select @canti=count(PaisDestinatario)


from Pedidos where PaisDestinatario=@desti_pais from Pedidos where PaisDestinatario=@desti_pais

if @canti=0 if @canti=0
print'No existen los pedidos en ese pais' print'No existen los pedidos en ese pais'
else else
select select
FechaPedido,FechaEnvio,Destinatario,PaisDestinat FechaPedido,FechaEnvio,Destinatario,PaisDestinat
ario ario
from Pedidos where PaisDestinatario=@desti_pais from Pedidos where PaisDestinatario=@desti_pais

4
GUIA DE EJERCICIO
Asignatura: Base de Datos II Fecha:04/04/2022 15:39
Lic. Claudia Romá n F.
SQL Avanzado Ejercicio 3
Estructuras condicionales y bucles

8. Si existen empleados sin cargo (NULL) eliminar los registros, si no mostrar un mensaje apropiado.

if exists(select*from Empleados where cargo is null)


delete from Empleados where cargo is null
else
print 'No existen empleados sin cargo'

9. Si existen empleados con un sueldo básico menor igual a 1000 incrementar el sueldo básico en 20%, si no mostrar un
mensaje apropiado.

if exists(select*from Empleados where sueldoBasico<=1000)


update Empleados set sueldoBasico=sueldoBasico+(sueldoBasico*0.2)
else
print 'No existen sueldo basico menor de 1000 para incrementar un 20%'

4
GUIA DE EJERCICIO
Asignatura: Base de Datos II Fecha:04/04/2022 15:39
Lic. Claudia Romá n F.
SQL Avanzado Ejercicio 3
Estructuras condicionales y bucles

10.Listar nombre producto, cantidad por unidad, unidades en existencia y una nueva columna de observaciones,
dependiendo de una cantidad mínima, que debe ser variable, si las unidades en existencia son menores a la cantidad
mínima la observación será “Realizar pedido urgente”, si las unidades en existencia están entre la cantidad mínima y
el doble de la cantidad mínima la observación será “Realizar pedido pronto”, si las unidades en existencia son
mayores al doble del mínimo se tendrá “Sin observaciones”. Probar con un mínimo de 10.

declare @minimo smallint


set @minimo=10

select nombreProducto,cantidadPorUnidad,unidadesEnExistencia,'Observaciones'=
(case
when unidadesEnExistencia<@minimo then 'Realizar pedido urgente'
when unidadesEnExistencia between @minimo and (@minimo*2) then 'Realizar pedido
pronto'
when unidadesEnExistencia>@minimo*2 then 'Sin observaciones'
end)
from productos

11.Listar nombre de contacto, cargo de contacto, dirección, teléfono y una nueva columna de Tipo de contacto, de
modo que si el cargo de contacto es Asistente de ventas, Representante de ventas o Gerente de ventas en Tipo de
contacto se tenga “Contacto de ventas”, si el cargo del contacto es Propietario en Tipo de contacto se tenga

4
GUIA DE EJERCICIO
Asignatura: Base de Datos II Fecha:04/04/2022 15:39
Lic. Claudia Romá n F.
SQL Avanzado Ejercicio 3
Estructuras condicionales y bucles

“Contacto directo”, si el cargo del contacto es Gerente de contabilidad o Administrador de pedidos en Tipo de
contacto se tenga “Contacto de pago”, si el cargo del contacto es Gerente de marketing o asistente de marketing en
Tipo de contacto se tenga “Contacto de pedidos”.

select nombrecontacto, cargocontacto,direccion,telefono,'TipoContacto'=


(case
when cargocontacto='Asistente de ventas' then 'Contacto Ventas'
when cargocontacto='Representante de ventas' then 'Contacto Ventas'
when cargocontacto='Gerente de ventas' then 'Contacto Ventas'
when cargocontacto='Propietario' then 'Contacto directo'
when cargocontacto='Gerente de contabilidad' then 'Contacto de pago'
when cargocontacto='Administrador de pedidos' then 'Contacto de pago'
when cargocontacto='Gerente de marketing' then 'Contacto de pedidos'
when cargocontacto='Asistente de marketing' then 'Contacto de pedidos'
end)
from proveedores

12.Actualizar el sueldo básico de los empleados cuyo sueldo no este registrado, de modo que sea el mínimo nacional,
mostrar un mensaje apropiado cuando se actualice.

declare @id int

4
GUIA DE EJERCICIO
Asignatura: Base de Datos II Fecha:04/04/2022 15:39
Lic. Claudia Romá n F.
SQL Avanzado Ejercicio 3
Estructuras condicionales y bucles

while exists(select * from Empleados where sueldoBasico is null)


begin
select top 1 @id = IdEmpleado from Empleados where sueldoBasico is null
update Empleados set sueldoBasico=2100 where IdEmpleado=@id
print 'Se actualizo el sueldo basico al minimo nacional'
continue
end

13. Actualizar la página web de los proveedores cuya página no este registrada, de modo que sea “N/A”, mostrar un
mensaje apropiado cuando se actualice.

declare @id_pro int

while exists(select * from proveedores where paginaprincipal is null)


begin
select top 1 @id_pro = idProveedor from proveedores where paginaprincipal is null
update proveedores set paginaprincipal = 'N/A' where idProveedor = @id_pro
print 'Se actualizo las paginas'
continue
end

4
GUIA DE EJERCICIO
Asignatura: Base de Datos II Fecha:04/04/2022 15:39
Lic. Claudia Romá n F.
SQL Avanzado Ejercicio 3
Estructuras condicionales y bucles

También podría gustarte