Fundamentos de SQL: Manipulación de Datos, Agregación y Funciones de Fecha

Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 4,6 KB

Funciones Esenciales de SQL: Agregación, Cadenas y Fechas

A continuación, se presentan ejemplos prácticos de consultas SQL que demuestran el uso de funciones de agregación, manipulación de cadenas y gestión de fechas, utilizando tablas de ejemplo como EMPLE y NOTAS_ALUMNOS.

1. Consultas de Agregación y Subconsultas

Estas consultas permiten resumir datos y obtener valores estadísticos de las tablas.

Cálculo del Salario Medio por Departamento

Calcula el salario medio de los empleados del departamento 10 de la tabla EMPLE:

SELECT AVG(SALARIO) FROM EMPLE WHERE DEPT_NO=10;

Conteo de Registros No Nulos

Calcula el número de filas de la tabla EMPLE donde la columna COMISION no es nula:

SELECT COUNT(COMISION) FROM EMPLE;

Obtención del Salario Máximo

Calcula el salario máximo de la tabla EMPLE:

SELECT MAX(SALARIO) FROM EMPLE;

Identificación del Empleado con Mayor Salario

Obtén el apellido y el salario del empleado que tiene el salario más alto, utilizando una subconsulta:

SELECT APELLIDO, SALARIO FROM EMPLE WHERE SALARIO=(SELECT MAX(SALARIO) FROM EMPLE);

Conteo de Oficios Únicos

Calcula el número de oficios distintos que existen en la tabla EMPLE:

SELECT COUNT(DISTINCT OFICIO) "OFICIOS" FROM EMPLE;

2. Funciones de Manipulación de Cadenas (Strings)

Estas funciones permiten modificar, formatear y extraer información de campos de texto.

Concatenación de Cadenas (CONCAT)

Obtén el apellido de los empleados de la tabla EMPLE, mostrando el resultado con el formato: "El apellido es: APELLIDO".

SELECT CONCAT('El apellido es: ', APELLIDO) FROM EMPLE;

Conversión de Mayúsculas y Minúsculas (LOWER, UPPER, INITCAP)

Visualiza la cadena 'oRACle Y sqL' en minúsculas, mayúsculas y formato tipo título (iniciales en mayúscula), utilizando la tabla DUAL:

SELECT LOWER('oRACle Y sqL') "minuscula", UPPER('oRACle Y sqL') "MAYUSCULA", INITCAP('oRACle Y sqL') "Tipo Titulo" FROM DUAL;

Relleno de Cadenas (LPAD y RPAD)

Para cada fila de la tabla NOTAS_ALUMNOS, se obtiene el nombre del alumno con una longitud de 30 caracteres, rellenando por la izquierda con puntos (LPAD) y rellenando por la derecha (RPAD):

SELECT LPAD(NOMBRE_ALUMNO, 30, '.') "IZQUIERDA", RPAD(NOMBRE_ALUMNO, 30, '.') "DERECHA" FROM NOTAS_ALUMNOS;

Sustitución de Subcadenas (REPLACE)

Sustituye la letra 'O' por 'AS' en la cadena 'BLANCO Y NEGRO':

SELECT REPLACE('BLANCO Y NEGRO', 'O', 'AS') FROM DUAL;

Extracción de Subcadenas (SUBSTR)

Visualiza el apellido y su primera letra para los empleados del departamento 10 de la tabla EMPLE:

SELECT APELLIDO, SUBSTR(APELLIDO, 1, 1) FROM EMPLE WHERE DEPT_NO = 10;

3. Funciones de Fecha y Tiempo

Estas funciones permiten realizar cálculos y formatear datos de tipo fecha.

Adición de Meses (ADD_MONTHS)

A partir de la tabla EMPLE, suma doce meses a la fecha de alta (FECHA_ALT) para los empleados del departamento 10:

SELECT FECHA_ALT, ADD_MONTHS(FECHA_ALT, 12) FROM EMPLE WHERE DEPT_NO=10;

Obtención del Último Día del Mes (LAST_DAY)

Obtén de la tabla EMPLE el último día del mes correspondiente a cada una de las fechas de alta (FECHA_ALT) de los empleados del departamento 10:

SELECT FECHA_ALT, LAST_DAY(FECHA_ALT) FROM EMPLE WHERE DEPT_NO=10;

Formato de Fecha Detallado (TO_CHAR)

Obtén la fecha de alta formateada para que aparezca el nombre completo del mes (month), el número de día del mes (DD) y el año completo (YYYY), para los empleados del departamento 10:

SELECT TO_CHAR (FECHA_ALT, 'month DD, YYYY') "NUEVA FECHA" FROM EMPLE WHERE DEPT_NO=10;

Formato de Fecha Personalizado (TO_CHAR)

Obtén la fecha de alta de forma que aparezca el nombre del mes con tres letras (mon), el número de día del año (ddd), el último dígito del año (y) y los tres últimos dígitos del año (yyy):

SELECT TO_CHAR (FECHA_ALT, 'mon ddd y yyy') "FECHA" FROM EMPLE WHERE DEPT_NO=10;

Entradas relacionadas: