Consultas Básicas
Consultas Básicas
CLÁUSULAS
1. CLÁUSULA SELECT / FROM → Seleccionar columnas y datos específicos de una tabla.
SELECT columna1, columna2
FROM tabla;
3. CLÁUSULA HAVING → Filtra resultados después de realizar una agrupación (GROUP BY).
SELECT columna1, COUNT(*)
FROM tabla
GROUP BY columna1
HAVING COUNT(*) > 5;
5. CLÁUSULA GROUP BY → Agrupa filas que tienen valores similares en una columna.
SELECT columna1, COUNT(*)
FROM tabla
GROUP BY columna1;
Operadores de Comparación
1. OPERADOR = (Igual a)
SELECT *
FROM empleados
WHERE salario = 50000;
2. OPERADOR IN → Comprueba si un valor coincide con cualquiera de los valores de una lista.
SELECT *
FROM empleados
WHERE departamento IN ('Ventas', 'Marketing', 'Finanzas');
3. OPERADOR LIKE → Busca coincidencias basadas en patrones simples, empleando los caracteres
comodín:
SELECT columna
FROM tabla
WHERE columna LIKE 'patrón';
● ^: Comienza con.
● $: Termina con.
● .: Representa cualquier carácter.
● []: Define un conjunto de caracteres.
● (): Marca una cadena de caracteres.
● {,}: Número de veces que se repite un carácter.
● |: Representa una opción (OR).
● *: Repite cero o más veces.
● +: Repite una o más veces.
● ?: El carácter anterior puede obtener cualquier valor, incluso no estar.
SELECT columna
FROM tabla
WHERE columna RLIKE 'expresión_regular';
5. OPERADOR IS NULL → Verifica si un valor es NULL.
SELECT *
FROM empleados
WHERE salario IS NULL;
FUNCIONES DE AGREGACIÓN
Principales funciones de agregación:
Función Descripción
1. FUNCIÓN IS → Evalúa una condición y devuelve un valor si la condición es verdadera y otro valor
si es falsa.
IF(condición, valor_si_verdadero, valor_si_falso)
2. FUNCIÓN ISNULL → Reemplaza un valor NULL con otro especificado. Es útil para evitar
resultados nulos en consultas.
IFNULL(expresión, valor_por_defecto)
Funciones de Caracteres
2. FUNCIÓN CONCAT → Concatenar (unir) dos o más cadenas de texto. Este método es útil cuando
deseas combinar varias columnas o valores literales en una sola cadena.
CONCAT(cadena1, cadena2, ..., cadenaN)
SELECT CONCAT(nombre, ' ', apellido) AS nombre_completo
FROM empleados;
Resultado: Si un empleado tiene el nombre "Juan" y el apellido "Pérez", el resultado será Juan Pérez.
6. FUNCIÓN RTRIM → Eliminar los espacios en blanco que se encuentran al final (derecha) de una
cadena de texto.
RTRIM(cadena)
SELECT RTRIM('Hola Mundo ') AS resultado;
7. FUNCIÓN SUBSTR → Extraer una subcadena de una cadena dada, empezando en una posición
específica y, opcionalmente, extrayendo un número determinado de caracteres.
Funciones numéricas
ROUND(número, decimales)
TRUNCATE(número, decimales)
● número: Es el valor del que deseas obtener el valor absoluto. Puede ser un número entero,
decimal, o incluso una expresión matemática.
3. YEAR(), MONTH(), DAY() → Extraen el año, mes, o día de una fecha.
○ SELECT YEAR('2025-01-14')
○ SELECT MONTH('2025-01-14')
○ SELECT DAY('2025-01-14');
4. DATE_ADD() y DATE_SUB() → Para sumar o restar días, meses, o años a una fecha.
○ SELECT DATE_ADD('2025-01-14', INTERVAL 10 DAY);
○ SELECT DATE_SUB('2025-01-14', INTERVAL 1 MONTH);
Funciones de Conversión
CAST(expresión AS tipo_de_dato)
Supongamos que tienes una columna precio de tipo VARCHAR y deseas convertir en DECIMAL:
CONVERT(expresión, tipo_de_dato)
Supón que tienes una columna fecha_texto que contiene una cadena y deseas convertirla a un tipo
de dato DATE:
CONSULTAS COMBINADAS
1. FUNCIÓN INNER JOIN → Devuelve sólo las filas que tienen coincidencias en ambas tablas.
SELECT columnas
FROM tabla1 INNER JOIN tabla2 ON tabla1.PK = tabla2.PK;
2. FUNCIÓN LEFT JOIN → Devuelve todas las filas de la tabla de la izquierda y las filas coincidentes
de la tabla de la derecha. Si no hay coincidencia, se devuelven NULLs para las columnas de la tabla de
la derecha.
SELECT columnas
FROM tabla1 LEFT JOIN tabla2 ON tabla1.PK = tabla2.PK;
3. FUNCIÓN RIGHT JOIN → Devuelve todas las filas de la tabla de la derecha y las filas coincidentes
de la tabla de la izquierda. Si no hay coincidencia, se devuelven NULLs para las columnas de la tabla de
la izquierda.
SELECT columnas
FROM tabla1 RIGHT JOIN tabla2 ON tabla1.PK = tabla2.PK;