Está en la página 1de 8

Realizar la siguientes consultas:

--REPORTES:
--1) Detalle de tabla peluquero ordenado por Nombre
select *from Peluquero order by Pel_Nom -- * muestra todos lo campos

--2) Detalle de tabla peluquero ordenado por Nombre de forma descendente


select *from Peluquero order by Pel_Nom desc

--3) Detalle de tabla peluquero, solo mostrar nombre y edad ordenado por edad
-- en este caso ya no se coloca el *, en su lugr solo las colunas deseadas

select pel_nom,Pel_Edad from Peluquero order by Pel_Edad;

--4) Detalle de tabla cliente, solo mostrar nombre y categoria


--ordenado por nombre desendentemente
select *from Cliente;

select cli_nom,cli_cat from Cliente order by cli_nom desc;

--5) Detalle de tabla cliente, solo mostrar datos de clientes VIP


-- condicion : se usa where
select * from Cliente where Cli_Cat=1;

--6) ingresar al cliente PEdro Perez de 50 años de categoria 3 (premium), no tiene


telefono
--cuandose ingresa un atributo null, este simplemene o s e coloca ni tampoco el
nombre de
-- dicha columna
INSERT INTO CLIENTE(Cli_Cedula_pk,Cli_Nom,Cli_Cat) VALUES('C007','Pedro
Perez',3);
select * from Cliente;

--7) Detalle de tabla cliente, solo mostrar datos de clientes qu no sean VIP
-- condicion : se usa where
select * from Cliente where Cli_Cat <> 1;

--8) Detalle de los clientes qe no tengan telefono


select * from Cliente where Cli_Tel is null

--9) mostrar los articulo que tengan en stock 30 unidades


select * from articulo; -- vista general
select * from articulo where Art_Cant =30;
--10) mostrar los articulo que tengan en stock desde 30 unidades ordenado por
cantidad
select * from articulo; -- vista general
select * from articulo where Art_Cant >=30 order by Art_Cant ;

--11) mostrar los articulo que tengan en stock desde 10 hasta 35 unidades ordenado
por cantidad
select * from articulo; -- vista general

select * from articulo where (Art_Cant >=10 and Art_Cant <=35) order by Art_Cant;

--12) mostrar los servicios cuyo costo este entre 5 y 15 soles tambien los mayores a
50soles
-- ordenados desde el mas caro
select * from Servicio;
select * from Servicio where (Serv_Precio>=5 and Serv_Precio<=15) or Serv_Precio>50
order by Serv_Precio desc;
--13) mostrar los servicios cuyo costo sean menor a 10 soles y tambien los que esten
entre
-- 30 y 100 ordenados desde el mas barato
select * from Servicio;
select * from Servicio where Serv_Precio<10 or (Serv_Precio>=30 and Serv_Precio<=100)

--14) mostrar los peluqueros que emcen con letra N


select * from Servicio;
select * from Peluquero where pel_nom like 'N%';

--15) mostrar los peluqueros que tengan entre 20 y 30 años


--y que su nombre empiece con 'C' . (las letras se coloan en comilla)

select * from Peluquero;


select * from Peluquero where (Pel_Edad>=20 and Pel_Edad<=30) and pel_nom like 'C%';
--16) mostrar los peluqueros que tengan entre 20 y 30 años
--o que su nombre empiece con 'P' . (las letras se colocan en comilla)

select * from Peluquero;


select * from Peluquero where (Pel_Edad>=20 and Pel_Edad<=30) or pel_nom like 'P%';

--17) mostrar los peluqueros que su nombre empiece con 'P'o 'C' . (las letras se
coloan en comilla)

select * from Peluquero;


select * from Peluquero where (pel_nom like 'P%' or pel_nom like 'C%')

--18) mostrar los peluqueros que su nombre termine con 'a'o 'e' . (las letras se
coloan en comilla)

select * from Peluquero;


select * from Peluquero where (pel_nom like '%a' or pel_nom like '%e')

--19) mostrar los peluqueros de nombre Olga o de apellido Luna


--% a ambos lados: busca una palabra en cualquier parte del texto de dicha columna
select * from Peluquero;
select * from Peluquero where (pel_nom like '%olga%' or pel_nom like '%luna%')
--20) cambiar el precio del servicio de corte a 15 soles
-- paa modificar registros se usa sentencia UPDATE nombre de tabla SET nobrecolumna
-- en ste caso el where puede hacerse con serv_nombre o servicio_pk
select * from servicio;
update Servicio set Serv_Precio=15 where serv_nombre='corte';
select * from servicio;

21) mostrar los peluqueros que su nombre empiece con 'P' en adelante . (las letras
se colocan en comilla)
-- el resultado deb ser peluquero que empiecen con P,Q; R ; S ;T . . . ;Z

select *from peluquero


select * from Peluquero where pel_nom like '[p-z]%'

--22) Aumentar en 5 unidades el stock de todos los productos tijera

select * from Articulo; -- estado inicial


update Articulo set Art_cant = Art_cant +5 where Art_Nom like '%tijera%';
select * from articulo; -- estado final

-- 23) Duplicar los articulos que tengan stock menos


de 20 unidades y tambien los mayores a 30
select * from Articulo; -- estado inicial
update Articulo set Art_cant = Art_cant * 2 where Art_Cant<20 or Art_Cant>30;
select * from articulo; -- estado final

-- 24) Reducir a la mitad los articulos que tengan stock mas de 40


select * from Articulo; -- estado inicial
update Articulo set Art_cant = Art_cant /2 where Art_Cant>40;
select * from articulo; -- estado final
-- 25) El peluquero de codigo P008, que no tiene cell, utilizo el peine el dia de
ayer
-- y reflexionando HOY quiere
-- cambiar su informe que lo encontro de buen estado a mal estado
-- OJO: Buen estado: encontro el articulo buen estado

--paso 1: primero verifico que exista el peluquero de codigo P008 que no tiene cell,
sino hay , se debe crearlo

select *from Peluquero;


insert into Peluquero values('P008','Luis Morales',48,'av. Lima 456',null);
select *from Peluquero;

-- Paso 2: insertar el peluquero que uso el peine el dia de ayer e informo qe esta en
buene estado
SELECT *FROM ARTICULO;
insert into Detalle_Peluquero_Articulo
values('P008','A0013','2003-05-28','11:11:11','buEN ESTADO'); ---NOTA: PEINE ES EL
ARTICULO A0013
SELECT *FROM Detalle_Peluquero_Articulo;

-- PASO 3: MODIFICAR EL ESTADO INICIAL DEL PEINE USADO POR P008 EL DIA DE AYER A MAL
ESTADO

SELECT *FROM Detalle_Peluquero_Articulo;


UPDATE Detalle_Peluquero_Articulo SET Det_Pel_Art_Estado='mal ESTADO' WHERE
CEDULA_PK='P008' AND Art_cod_pk='A0013';
SELECT *FROM Detalle_Peluquero_Articulo;

También podría gustarte