Comandos Esenciales de SQL: Operadores, Funciones y Manipulación de Datos

Clasificado en Informática

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

Comandos Fundamentales de SQL

Uso de Alias (AS)

Se utiliza para renombrar una columna o expresión en el resultado de la consulta.

SELECT last_name AS name
FROM employees;

Concatenación de Cadenas (||)

Se utiliza para unir dos o más cadenas de caracteres. El símbolo de concatenación es || (doble barra vertical).

SELECT last_name || job_id AS "Employees"
FROM employees;

SELECT last_name || ' is a ' || job_id AS "EMPLOYEE DETAILS"
FROM employees;

Uso de Comillas

Las comillas dobles (" ") se utilizan para definir alias que contienen espacios o caracteres especiales. Las comillas simples (' ') se utilizan para valores literales de texto o fechas.

Eliminación de Duplicados (DISTINCT)

El uso de DISTINCT permite mostrar solo los valores únicos de una columna o conjunto de columnas.

  • Sin DISTINCT: Muestra todo el contenido de la tabla, incluyendo duplicados.
    SELECT department_id
    FROM employees;
  • Con DISTINCT: Muestra la lista sin duplicados.
    SELECT DISTINCT department_id
    FROM employees;

Descripción de la Estructura de la Tabla

Para conocer el nombre y tipo de datos de las columnas de una tabla, se utiliza el comando DESCRIBE o su abreviatura DESC. Ambas maneras funcionan.

DESCRIBE employees;

Filtrado de Datos con la Cláusula WHERE

Uso de WHERE

La cláusula WHERE va después de la sintaxis FROM y se utiliza para seleccionar datos que cumplen con condiciones específicas.

SELECT employee_id, last_name, job_id, department_id
FROM employees
WHERE department_id = 90;

-- Ejemplos de condiciones:
-- WHERE hire_date = '01/JAN/95';
-- WHERE salary >= 6000;
-- WHERE last_name = 'SMITH';

Formato para Fechas

El formato común para fechas en estos ejemplos es DÍA/MES/AÑO (ej: 00/000/00).

Operador BETWEEN...AND

Se utiliza para seleccionar valores que se encuentran entre un límite inferior (X) y un límite superior (Y), incluyendo ambos.

SELECT last_name, salary
FROM employees
WHERE salary BETWEEN 2500 AND 3500;

Operador IN

Muestra una lista de valores que coinciden con la columna. Si son caracteres, deben llevar comilla simple.

SELECT employee_id, manager_id, department_id
FROM employees
WHERE last_name IN ('HARTSEIN', 'VARGAS');

Operador LIKE (Búsqueda de Patrones)

Se utiliza para realizar búsquedas que coincidan con un patrón específico. Se emplean los siguientes comodines:

  • %: Representa cero o más caracteres.
  • _ (guion bajo): Representa exactamente un carácter.
SELECT first_name
FROM employees
WHERE first_name LIKE 'S%'; -- Que empiecen con S y después lleven cualquier letra

-- Ejemplo de uso del guion bajo:
-- WHERE last_name LIKE '_O%'; -- El guion bajo es para encontrar un carácter cualquiera en la primera posición, seguido de la letra O y el % para cualquier letra siguiente.

Operador NOT

Invierte el resultado de la condición, seleccionando todo aquello que no cumple con el criterio especificado.

SELECT last_name, job_id
FROM employees
WHERE job_id NOT IN ('IT_PROG', 'ST_CLERK', 'SA_REP');

-- Otro ejemplo:
-- WHERE salary NOT BETWEEN 10000 AND 15000; -- Todo menos lo que se encuentra en este rango.

Ordenamiento y Valores Nulos

Cláusula ORDER BY

Ordena las columnas de manera ascendente (ASC) o descendente (DESC). Puede ordenar más de una columna especificando el orden de cada una.

SELECT last_name, job_id, department_id, hire_date
FROM employees
ORDER BY hire_date ASC;

Manejo de Valores Nulos (IS NULL)

Muestra los datos a los cuales no se les ha asignado algún valor. Se utiliza el operador IS NULL.

SELECT last_name, manager_id
FROM employees
WHERE manager_id IS NULL;

Funciones de Fecha (Oracle SQL)

MONTHS_BETWEEN

Se utiliza para calcular la diferencia en meses que han transcurrido entre dos fechas.

Ejemplo: MONTHS_BETWEEN('01-SEP-95', '11-JAN-94') resulta en 19.67 meses.

ADD_MONTHS

Se utiliza para saber qué mes es el que sigue de acuerdo al valor numérico que se le especifique.

Ejemplo: ADD_MONTHS('11-JAN-94', 6) resulta en 11-JUL-94. (El 6 es para especificar cuántos meses después de la fecha queremos).

NEXT_DAY

Devuelve la fecha del siguiente día de la semana especificado, a partir de una fecha inicial.

Ejemplo: NEXT_DAY('13-SEP-11', 'VIERNES') resulta en 16-SEP-11.

SYSDATE, ROUND y TRUNC

SYSDATE devuelve la fecha actual del sistema.

Ejemplo: SYSDATE podría ser 25-JUL-95.

Funciones de Redondeo y Truncamiento de Fechas

ROUND (SYSDATE, 'MONTH')
Redondea la fecha al primer día del mes siguiente (ej: 01-AUG-95).
ROUND (SYSDATE, 'YEAR')
Redondea la fecha al primer día del año siguiente (ej: 01-JAN-96).
TRUNC (SYSDATE, 'MONTH')
Retrocede al primer día del mes actual (ej: 01-JUL-95).
TRUNC (SYSDATE, 'YEAR')
Retrocede al primer día del año actual (ej: 01-JAN-95).

Entradas relacionadas: