0% encontró este documento útil (0 votos)
37 vistas3 páginas

Practica Modulo4s

El documento presenta una serie de consultas SQL relacionadas con la manipulación de datos en una base de datos de empleados. Incluye ejemplos de funciones como LOWER, UPPER, TRUNC, ROUND, y LPAD, así como consultas para extraer información específica de los empleados y trabajos. Además, se explican los resultados esperados de cada consulta y el uso de funciones para el manejo de fechas y cálculos de tiempo trabajado.
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 TXT, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
37 vistas3 páginas

Practica Modulo4s

El documento presenta una serie de consultas SQL relacionadas con la manipulación de datos en una base de datos de empleados. Incluye ejemplos de funciones como LOWER, UPPER, TRUNC, ROUND, y LPAD, así como consultas para extraer información específica de los empleados y trabajos. Además, se explican los resultados esperados de cada consulta y el uso de funciones para el manejo de fechas y cálculos de tiempo trabajado.
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 TXT, PDF, TXT o lee en línea desde Scribd

--------------------------------------------------------------------------------

--PRÁCTICA MÓDULO 4
--PRESENTADO POR ANGEL ABDÍAS GONZÁLEZ MOLINA
-------------------------------------------------------------------------------
-- 4.1 Práctica Primer parte
------------------------------------------------------------------------------
-- Consultas práctica previas
-------------------------------------------------------------------------------
-- La función Lower() convierte todo el contenido del campo en minúsculas
-- la función Upper() convierte todo el contenido del campo en mayúsculas
-- la funcion INITCAP() en sql convierte el texto a formato de título, es decir:
-- Primera letra de cada palabra en mayúscula, y las demás en minúscula.
--SUBSTR(cadena, posición_inicio, cantidad_caracteres)
-- esta extrae los caracteres de un texto.
-- la funcion LPAD() rellena una cadena por la izquierda. Significa left PAD.
-- La funcion RPAD() rellena una cadena por la derecha. Significa Right PAD.
-- ROUND() sirve para redondear números a una cantidad específica de decimales y
posiciones enteras
-- ROUND(NÚMERO, POSICIÓN)
-- TRIM() elimina espacios en blanco, se utiliza para limpiar datos
--TRUNC(NÚMERO,POSICIÓN)-- CORTA(TRUNCA) el número sin redondear, elimina los
dígitos
--después de la posición indicada.
SELECT
TRUNC(45.923, 2), -- A-- 45.92
TRUNC(45.923, 0), -- B -- deja solo la parte entera 45
TRUNC(45.923, -1), -- C -- deja la decena que esta al correr la coma una
posicion a la izquierda 40
TRUNC(345.923, -2), -- D --300
TRUNC(355.923, -2) -- E --300
FROM DUAL;
select * from [Link];
select last_name, upper(last_name)
from [Link]
where upper(last_name) like '%H%';
/*1) Consultar employee_id, apellido y nombre, ambos en mayúscula, de los empleados
que pertenezcan al departamento 90:
*/
select * from [Link];
select employee_id,upper(last_name), upper(first_name),department_id
from [Link]
where department_id = 90;
/*2) Consultar el job_id, el job_id en minúscula, job_title y el job_title en
minúscula de
la tabla de jobs :
*/
select job_id, lower(job_id),job_title,lower(job_title)
from [Link];
/*3) Obtener una lista de los empleados(apellido y nombre) cuyo nombre contenga la
cadena "li" independientemente de que dicha cadena esté en mayúsculas,
minúsculas o sea una combinación de ambas :
*/
SELECT * FROM [Link];
select last_name,first_name
from [Link]
where lower(first_name)like '%li%';
-------------------------------------------------------------------------------
-- 4.2 Práctica Segunda parte
------------------------------------------------------------------------------
/*1) Consultar nombre, apellido, el primer carácter del nombre y los primeros 5
caracteres del apellido de los empleados pertenecientes al departamento 90
*/
select
first_name,
last_name,
substr(first_name,1,1) as first_char_name,
substr(last_name,1,5) as first_char_name
from [Link]
where department_id=90;
/*2) Seleccionar apellido, salario, mostrar el salario completando hasta 10
caracteres * a
la izquierda:
*/
select
last_name,
salary,
lpad(salary,10,'*') as padded_salary -- salario inflado
from [Link];
-------------------------------------------------------------------------------
-- 4.3 Práctica Tercera parte
------------------------------------------------------------------------------
/*1) Ejecutar la siguiente select e interpretar el funcionamiento de la función
ROUND:
SELECT ROUND(45.923,2),
ROUND(45.923,0),
ROUND(45.923,-1),
ROUND(345.923,-2),
ROUND(355.923,-2)
FROM DUAL;*/
SELECT ROUND(45.923,2),-- REDONDEA A 2 DECIMALES 45.92
ROUND(45.923,0), -- REDONDEA AL ENTERO MÁS CERCANO 46
ROUND(45.923,-1), -- REDONDEA A LA DECENA MÁS CERCANA 50
ROUND(345.923,-2), -- REDONDEA A LA CENTENA MÁS CERCANA 300
ROUND(355.923,-2) -- REDONDEA A LA CENTENA MÁS CERCANA 400
FROM DUAL;

/*2) Mostrar apellido, salario, y el resto de dividir el salario por 5000 de los
empleados del job_id ='SA_REP':*/
select
last_name,
salary,
salary / 5000 as salario_dividido
from [Link];
-- EN LA SIGUIENTE CONSULTA SE UTILIZA LA FUNCION MOD(DIVIDENDO,DIVISOR) Y RETORNA
EL RESIDUO
select
last_name,
salary,
salary / 5000 as salario_dividido,
MOD(salary , 5000) as RESIDUO_salario_dividido
from [Link];
-------------------------------------------------------------------------------
-- 4.4 Práctica Cuarta parte
------------------------------------------------------------------------------
/*1) Obtenga la lista de empleados que trabajaron más de 100 meses desde la fecha
en
que fueron contratados. Liste el código de empleado, apellido y fecha de
contratación.*/
select * from [Link];
SELECT
employee_id,
last_name,
hire_date,
ROUND(MONTHS_BETWEEN(SYSDATE, hire_date), 1) AS meses_trabajados
FROM
[Link]
WHERE
MONTHS_BETWEEN(SYSDATE, hire_date) > 100;

También podría gustarte