28 - Búsqueda de patrones (like - not like)


Primer problema:

Una empresa almacena los datos de sus empleados en una tabla "empleados".

1- Elimine la tabla:

  drop table empleados;

2- Cree la tabla:

 create table empleados(
  nombre varchar2(30),
  documento char(8) not null,
  domicilio varchar2(30),
  fechaingreso date,
  seccion varchar2(20),
  sueldo number(6,2),
  primary key(documento)
 );

3- Ingrese algunos registros:

 insert into empleados
  values('Juan Perez','22333444','Colon 123','08/10/1990','Gerencia',900.50);
 insert into empleados
  values('Ana Acosta','23444555','Caseros 987','18/12/1995','Secretaria',590.30);
 insert into empleados
  values('Lucas Duarte','25666777','Sucre 235','15/05/2005','Sistemas',790);
 insert into empleados
  values('Pamela Gonzalez','26777888','Sarmiento 873','12/02/1999','Secretaria',550);
 insert into empleados
  values('Marcos Juarez','30000111','Rivadavia 801','22/09/2002','Contaduria',630.70);
 insert into empleados
  values('Yolanda perez','35111222','Colon 180','08/10/1990','Administracion',400);
 insert into empleados
  values('Rodolfo perez','35555888','Coronel Olmedo 588','28/05/1990','Sistemas',800);

4- Muestre todos los empleados con apellido "Perez" empleando el operador "like" (1 registro)
Note que no incluye los "perez" (que comienzan con minúscula).

5- Muestre todos los empleados cuyo domicilio comience con "Co" y tengan un "8" (2 registros)

6- Seleccione todos los empleados cuyo documento finalice en 0 ó 4 (2 registros)

7- Seleccione todos los empleados cuyo documento NO comience con 2 y cuyo nombre finalice en "ez" (1 registro)

8- Recupere todos los nombres que tengan una "G" o una "J" en su nombre o apellido (3 registros)

9- Muestre los nombres y sección de los empleados que pertenecen a secciones que comiencen con "S" o "G" y tengan 8 caracteres (3 registros)

10- Muestre los nombres y sección de los empleados que pertenecen a secciones que NO comiencen con "S" (3 registros)

11- Muestre todos los nombres y sueldos de los empleados cuyos sueldos se encuentren entre 500,00 y 599,99 empleando "like" (2 registros)

12- Muestre los empleados que hayan ingresado en la década del 90 (5 registros)

13- Agregue 50 centavos a todos los sueldos que no tengan centavos (4 registros) y verifique recuperando todos los registros.

14- Elimine todos los empleados cuyos apellidos comiencen con "p" (minúscula) (2 registros)

Ver solución

  drop table empleados;

 create table empleados(
  nombre varchar2(30),
  documento char(8) not null,
  domicilio varchar2(30),
  fechaingreso date,
  seccion varchar2(20),
  sueldo number(6,2),
  primary key(documento)
 );

 insert into empleados
  values('Juan Perez','22333444','Colon 123','08/10/1990','Gerencia',900.50);
 insert into empleados
  values('Ana Acosta','23444555','Caseros 987','18/12/1995','Secretaria',590.30);
 insert into empleados
  values('Lucas Duarte','25666777','Sucre 235','15/05/2005','Sistemas',790);
 insert into empleados
  values('Pamela Gonzalez','26777888','Sarmiento 873','12/02/1999','Secretaria',550);
 insert into empleados
  values('Marcos Juarez','30000111','Rivadavia 801','22/09/2002','Contaduria',630.70);
 insert into empleados
  values('Yolanda perez','35111222','Colon 180','08/10/1990','Administracion',400);
 insert into empleados
  values('Rodolfo perez','35555888','Coronel Olmedo 588','28/05/1990','Sistemas',800);

 select *from empleados
  where nombre like '%Perez%';

 select *from empleados
  where domicilio like 'Co%8%';

 select *from empleados
  where documento like '%1' or
  documento like '%4';

 select *from empleados
  where documento not like '2%' and
  nombre like '%ez';

 select nombre from empleados
  where nombre like '%G%' or
   nombre like '%J%';

 select nombre,seccion from empleados
  where seccion like 'S_______' or
  seccion like 'G_______';

 select nombre,seccion from empleados
  where seccion not like 'S%';

 select nombre,sueldo from empleados
  where sueldo like '5__%';

 select *from empleados
  where fechaingreso like '%9_';

 update empleados set sueldo=sueldo+0.50
  where sueldo not like '%,%';
 select sueldo from empleados;

 delete from empleados
  where nombre like '% p%';

 


Retornar