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).