28 - Búsqueda de patrones (like - not like) |
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óndrop 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%';