Definiciones claras y ejemplos

Glosario SQL

Busca un término para entender qué significa, cuándo usarlo, cómo se escribe y qué error conviene evitar.

144 resultados

Normalización de bases de datos

Aprende 1FN, 2FN y 3FN con pedidos, dependencias funcionales y un esquema SQL reproducible.

Estructura

Filtrar entre dos fechas

Filtra un periodo completo con horas, prueba los límites y evita perder registros del último día.

Consultas

Orden de ejecución SQL

Sigue una consulta por etapas y entiende los alias, las agregaciones y las funciones de ventana.

Consultas

ADD COLUMN vs MODIFY COLUMN

Distingue crear una columna de redefinirla y verifica el resultado sin copiar sintaxis entre motores.

Estructura

Alias

Nombre temporal para columnas, expresiones y tablas que mejora la legibilidad sin cambiar el esquema.

Consultas

Alias con COUNT y SUM

Nombra conteos, sumas y otros agregados para que el resultado se entienda sin leer la consulta.

Agregación

Alias en subconsultas

Asigna un nombre a resultados derivados y referencia sus columnas con claridad desde la consulta exterior.

Consultas

ALTER TABLE

Modifica la estructura de una tabla existente: columnas, restricciones o nombres.

Estructura

ALTER TABLE en tablas grandes

Distingue cambios de metadatos, validaciones y reescrituras antes de alterar tablas grandes.

Estructura

AND, OR y NOT

Combina condiciones, usa paréntesis y entiende qué ocurre cuando NULL introduce un resultado desconocido.

Filtros

AVG

Calcula medias de valores conocidos y distingue una media simple de una media ponderada.

Agregación

Añadir restricciones con ALTER TABLE

Añade restricciones después de medir duplicados, nulos y referencias huérfanas; adapta la migración al motor.

Relaciones

BEGIN / START TRANSACTION

Marca el comienzo de un bloque de trabajo que debe terminar con COMMIT para guardar los cambios o con ROLLBACK para deshacerlos.

Transacciones

BETWEEN

Filtra intervalos inclusivos y evita errores de límites al trabajar con fechas y horas.

Filtros

Buenas prácticas para alias

Elige alias breves y estables, evita ambigüedades y mantén una convención coherente.

Estructura

CASE

Devuelve valores distintos según condiciones.

SQL analítico

CAST

Convierte una expresión a otro tipo y ayuda a detectar entradas incompatibles sin depender de conversiones implícitas.

Consultas

CHECK

Impide guardar una fila cuando no cumple una regla definida en la tabla.

Estructura

Clave primaria compuesta

Identifica una fila mediante la combinación de dos o más columnas y evita duplicar esa identidad.

Estructura

Claves autogeneradas

Compara IDENTITY, AUTO_INCREMENT e INTEGER PRIMARY KEY para generar identificadores sin confundirlos con la restricción PRIMARY KEY.

Estructura

COALESCE

Elige el primer valor no nulo para presentar una alternativa sin modificar el dato almacenado.

Consultas

Columnas generadas

Calcula una columna a partir de otras columnas de la misma fila y compara GENERATED, VIRTUAL, STORED y PERSISTED.

Estructura

COMMIT

Confirma la transacción actual después de revisar el alcance y el resultado de sus cambios.

Transacciones

CONCAT

Une columnas y separadores en un valor calculado y requiere decidir cómo tratar NULL.

Consultas

Consulta SQL (query)

Instrucción que consulta o modifica datos y combina cláusulas con una intención concreta.

Consultas

COUNT

Cuenta filas, valores no nulos o valores distintos según la pregunta.

Agregación

COUNT(DISTINCT) con varias columnas

Cuenta combinaciones únicas de dos o más columnas con un patrón portable y variantes por motor.

Agregación

CREATE TABLE

Crea una tabla con columnas, tipos, valores predeterminados y restricciones de integridad.

Estructura

CREATE TABLE AS SELECT

Crea una tabla nueva y la llena con el resultado de una consulta, distinguiéndola de INSERT ... SELECT y VIEW.

Estructura

CROSS JOIN

Combina cada fila de una tabla con todas las filas de otra. Es útil para generar combinaciones, pero puede multiplicar el resultado muy rápido.

Relaciones

CTE recursiva con WITH RECURSIVE

Recorre jerarquías mediante un caso inicial y un paso recursivo que avanza hasta que no quedan filas nuevas.

Consultas

CURRENT_DATE

Devuelve la fecha actual del motor o de la sesión sin incluir la hora.

Consultas

CURRENT_TIMESTAMP

Obtiene la fecha y hora actuales y obliga a distinguir tipo, zona horaria y semántica de cada motor.

Consultas

Cómo usar alias en SELECT

Usa AS para nombrar columnas y cálculos, ordenar por el alias y evitar referencias prematuras en WHERE.

Consultas

DEFAULT

Define un valor automático cuando no se proporciona uno.

Estructura

DELETE

Elimina filas con comprobación previa, transacción reversible y control de relaciones.

Modificar datos

DELETE vs TRUNCATE vs DROP

DELETE filtra filas, TRUNCATE vacía la tabla y DROP elimina su definición; sus efectos cambian por motor.

Modificar datos

DISTINCT

Elimina filas repetidas del resultado comparando todas las columnas seleccionadas.

Filtros

DROP TABLE

Elimina una tabla completa: estructura, filas y dependencias según el motor.

Estructura

Eliminar columnas con ALTER TABLE: ejemplos prácticos

Elimina una columna solo después de localizar datos, claves, índices, vistas y aplicaciones dependientes.

Estructura

Encontrar duplicados

Detecta valores o claves repetidas con GROUP BY, COUNT y HAVING sin confundirlas con filas multiplicadas por un JOIN.

Agregación

Errores comunes con alias SQL

Diagnostica comas ausentes, alias fuera de alcance y referencias incoherentes a tablas.

Consultas

EXCEPT

Devuelve filas del primer resultado que no aparecen en el segundo.

SQL analítico

EXISTS

Comprueba si una subconsulta devuelve al menos una fila; NOT EXISTS comprueba ausencias.

Filtros

EXPLAIN

Muestra el plan que el motor piensa utilizar para resolver una consulta. Sirve para investigar rendimiento antes de cambiar índices o reescribir SQL.

Consultas

EXTRACT

Extrae año, mes u otra parte de una fecha y muestra las alternativas cuando cambia el dialecto.

Consultas

FILTER en agregaciones

Filtra la entrada de un agregado concreto sin afectar a las demás métricas de la misma consulta.

Agregación

FIRST_VALUE y LAST_VALUE

Lee el primer o último valor de una ventana y controla el frame para evitar resultados engañosos.

SQL analítico

FOREIGN KEY

Garantiza que un valor referencia una fila existente en otra tabla.

Relaciones

FROM

Define tablas, vistas u otras fuentes y permite nombrarlas con alias.

Consultas

FULL OUTER JOIN

Conserva coincidencias y también filas sin pareja de ambos conjuntos.

Relaciones

GROUP BY

Forma grupos para calcular un resumen independiente en cada uno.

Agregación

GROUP BY con varias columnas

Agrupa por combinaciones de valores y controla la granularidad de cada fila resumida.

Agregación

HAVING

Filtra grupos después de calcular COUNT, SUM u otras agregaciones.

Filtros

IN

Comprueba si un valor pertenece a una lista o subconsulta.

Filtros

INDEX

Crea una ruta de acceso que puede acelerar filtros, relaciones y ordenaciones.

Filtros

Índice en FOREIGN KEY

Decide cuándo indexar la clave foránea de la tabla hija y qué motores ya crean ese índice.

Estructura

INNER JOIN

Conserva únicamente las parejas de filas que cumplen la condición de unión.

Relaciones

INNER JOIN vs LEFT JOIN

INNER JOIN conserva coincidencias; LEFT JOIN mantiene toda la tabla izquierda y señala ausencias con NULL.

Relaciones

INSERT INTO

Añade una o varias filas alineando columnas, valores predeterminados y restricciones.

Filtros

INSERT INTO ... SELECT

Inserta en una tabla las filas producidas por un SELECT y valida columnas, restricciones y alcance antes de modificar datos.

Modificar datos

INTERSECT

Conserva las filas completas que aparecen en los dos resultados.

Filtros

IS DISTINCT FROM

Compara dos expresiones y devuelve verdadero o falso incluso cuando una o ambas contienen NULL.

Consultas

IS NULL / IS NOT NULL

Comprueba valores desconocidos con IS NULL e IS NOT NULL y evita compararlos mediante =.

Filtros

JOIN

Combina filas de tablas relacionadas.

Relaciones

LAG

Devuelve un valor de una fila anterior dentro de una ventana. Permite calcular cambios entre periodos sin unir la tabla consigo misma.

SQL analítico

LEAD

Devuelve un valor de una fila posterior dentro de una ventana. Resulta útil para comparar cada registro con el siguiente evento de una secuencia.

SQL analítico

LEFT JOIN

Conserva todas las filas de la tabla izquierda y usa NULL cuando no existe coincidencia.

Relaciones

LENGTH

Mide la longitud de un texto y obliga a distinguir caracteres de bytes según el motor.

Consultas

LIKE

Filtra texto mediante patrones con %, _, prefijos y reglas de mayúsculas dependientes del motor.

Filtros

LIMIT

Fija un máximo de filas y permite construir consultas top N con un orden explícito.

Consultas

MAX

Encuentra el mayor valor y decide cómo recuperar una o todas las filas empatadas.

Agregación

MERGE

Sincroniza origen y destino con acciones condicionales y simula la clasificación antes de modificar datos.

Modificar datos

MIN

Encuentra el menor valor y recupera su fila sin depender de resultados arbitrarios.

Filtros

Modificar la estructura de una tabla

Planifica cambios de esquema por fases: expandir, migrar, comprobar y restringir.

Estructura

Nivel de aislamiento

Define qué estados concurrentes puede observar una transacción y qué garantías ofrece el motor.

Transacciones

NOT NULL

Impide guardar NULL en una columna que debe tener un valor.

Filtros

NULLIF

Compara dos expresiones. Si son iguales, devuelve NULL; si son diferentes, devuelve la primera.

Consultas

NULLS FIRST / LAST

Controla si los valores NULL aparecen al principio o al final de un resultado ordenado.

Consultas

OFFSET

Omite filas ordenadas para paginar; necesita un orden estable y cambia de sintaxis entre motores.

Consultas

ON DELETE CASCADE

Propaga el borrado de una fila padre a las filas hijas que la referencian mediante una FOREIGN KEY.

Estructura

ORDER BY

Ordena resultados con varios criterios y resuelve empates de forma estable.

Consultas

ORDER BY CASE

Crea prioridades de orden explícitas cuando las categorías no siguen un orden natural.

Consultas

OUTER JOIN

Familia de LEFT, RIGHT y FULL JOIN que conserva filas sin coincidencia.

Relaciones

OVER

Define la ventana de cálculo de una función sin agrupar ni perder las filas del resultado.

SQL analítico

PARTITION BY

Divide filas en grupos para una función de ventana sin colapsarlas.

SQL analítico

PRIMARY KEY

En SQL estándar, identifica cada fila con valores únicos y no nulos; incluye la excepción histórica de SQLite.

Relaciones

RANK y DENSE_RANK

Las dos funciones asignan posiciones respetando empates. La diferencia está en la posición que aparece después de un empate.

SQL analítico

Renombrar columnas y tablas con ALTER TABLE

Cambia nombres de tablas o columnas sin mover datos y revisa vistas, consultas y código dependiente.

Estructura

REPLACE

Sustituye todas las apariciones de un fragmento dentro de un texto.

Consultas

RETURNING

Devuelve valores de las filas afectadas por INSERT, UPDATE o DELETE cuando el motor soporta esta extensión.

Modificar datos

RIGHT JOIN

Conserva la tabla derecha completa y puede reescribirse invirtiendo un LEFT JOIN.

Relaciones

ROLLBACK

Cancela los cambios pendientes de una transacción antes de confirmarlos.

Transacciones

ROUND

Redondea un número a la cantidad de decimales indicada.

Agregación

ROW_NUMBER

Numera filas según un orden y puede reiniciar la secuencia para cada partición.

SQL analítico

ROWS BETWEEN / window frame

Delimita las filas que usa una función de ventana para acumulados y métricas móviles.

SQL analítico

SAVEPOINT

Crea un punto intermedio dentro de una transacción para deshacer solo el trabajo posterior.

Transacciones

SELECT

Define columnas, cálculos y alias del resultado sin modificar los datos.

Consultas

SELF JOIN

Es un JOIN donde la misma tabla aparece dos veces con alias distintos. Permite comparar filas o recorrer relaciones como empleado y responsable.

Relaciones

STRING_AGG / GROUP_CONCAT

Concatena valores de varias filas en una cadena y distingue la sintaxis, el orden y el separador de cada motor.

Agregación

Subquery

Utiliza el resultado de una consulta dentro de otra para completar una condición o cálculo.

SQL analítico

SUBSTRING

Extrae una parte de un texto indicando la posición inicial y la cantidad de caracteres.

Consultas

SUM

Suma valores filtrados, interpreta conjuntos sin filas y evita duplicar totales tras un JOIN.

Agregación

SUM con CASE WHEN

Cuenta condiciones o suma importes selectivamente combinando CASE con una agregación.

Agregación

Sumar y restar fechas

Desplaza fechas por días, meses u horas y adapta la sintaxis al dialecto de tu motor.

Consultas

Tabla en SQL

Distingue estructura y datos: filas, columnas, tipos, claves y restricciones de una tabla.

Estructura

Tablas temporales

Materializa resultados intermedios durante una sesión o conexión y compáralos con CTE y tablas permanentes.

Estructura

Top N por grupo con ROW_NUMBER

Obtén las primeras N filas de cada grupo con una numeración independiente y un desempate explícito.

SQL analítico

Tipos de datos SQL

Elige el tipo para precios, texto, fechas y booleanos; compara cuatro motores con un ejemplo comprobado.

Estructura

TRIM

Limpia espacios o caracteres sobrantes de los extremos de un texto.

Consultas

TRUNCATE TABLE

Vacía una tabla completa, exige un preflight y cambia en transacciones, identidades y claves foráneas.

Estructura

UNION

Apila resultados compatibles y conserva una sola copia de cada fila.

SQL analítico

UNION ALL

Apila todos los resultados y mantiene cada aparición, incluso si se repite.

SQL analítico

UNION vs UNION ALL

UNION conserva una sola copia de cada fila; UNION ALL mantiene cada aparición y evita deduplicar.

SQL analítico

UNIQUE

Evita duplicados en una columna o combinación y distingue unicidad, obligatoriedad y tratamiento de NULL.

Estructura

UPDATE

Modifica filas con SET y WHERE, comprueba el alcance y protege cambios mediante transacciones.

Modificar datos

UPPER y LOWER

Transforman el texto del resultado entre mayúsculas y minúsculas sin modificar el dato.

Consultas

UPSERT

Inserta una fila o actualiza la existente cuando una clave única detecta un conflicto.

Modificar datos

VIEW

Consulta reutilizable que se usa como una tabla virtual y refleja los datos de sus tablas base.

Consultas

Vistas en SQL Server

Crea, consulta y modifica vistas T-SQL con un ejemplo completo y evita errores de lotes, orden y esquema.

Consultas

WHERE

Filtra filas con condiciones, lógica booleana y comprobaciones correctas de NULL.

Filtros

WHERE vs HAVING

WHERE filtra filas antes de agrupar; HAVING conserva grupos después de calcular agregaciones.

Filtros

WITH y CTE

Define resultados intermedios con nombre y alcance de una sola sentencia para organizar consultas complejas.

Consultas

CTE vs subconsulta

Compara dos formas de organizar resultados intermedios y decide cuándo conviene cada una sin asumir ventajas de rendimiento.

Consultas

Índice compuesto

Indexa varias columnas en un orden deliberado y aprende por qué el prefijo del índice importa para filtros y ordenaciones.

Estructura

Índice parcial / filtrado

Indexa solo las filas que cumplen una condición y valida el predicado con tus consultas reales.

Estructura

Índice sobre expresión

Indexa transformaciones como LOWER(email) cuando esa expresión forma parte de consultas reales y frecuentes.

Estructura

Paginación keyset

Continúa desde la última fila con un cursor estable y evita depender de offsets cada vez mayores.

Consultas

NTILE

Divide filas ordenadas en N grupos lo más equilibrados posible mediante una función de ventana.

SQL analítico

UPDATE con JOIN / UPDATE FROM

Actualiza una tabla usando datos de otra y adapta UPDATE FROM o UPDATE JOIN al motor.

Modificar datos

DELETE con JOIN / USING

Borra filas según otra tabla con USING, JOIN o EXISTS y comprueba el alcance antes de eliminar.

Modificar datos

GROUPING SETS / ROLLUP / CUBE

Calcula subtotales, total general y varios niveles de agrupación en una sola consulta.

Agregación

Anti-join

Encuentra filas sin coincidencia con NOT EXISTS o LEFT JOIN + IS NULL y evita trampas con NULL.

Consultas

Diferencia entre fechas

Calcula días, horas o meses entre dos fechas y adapta DATEDIFF/TIMESTAMPDIFF/resta según el motor.

Funciones

PERCENT_RANK / CUME_DIST

Mide rango relativo y distribución acumulada dentro de una ventana, con empates y particiones.

SQL analítico

LEAST / GREATEST

Elige el menor o mayor valor entre varias expresiones de una fila y controla las diferencias de NULL entre motores.

Funciones

ANY / ALL

Compara un valor con una columna de una subconsulta: basta una coincidencia con ANY y deben cumplirse todas con ALL.

Consultas

Agrupar por mes en SQL

Resume fechas por mes sin mezclar años y adapta la clave temporal a PostgreSQL, MySQL, SQL Server o SQLite.

Agregación

LATERAL / APPLY

Haz que una subconsulta de FROM dependa de cada fila exterior y adapta el patrón a APPLY en SQL Server.

Consultas

Porcentaje del total en SQL

Calcula qué parte representa cada grupo respecto al total con SUM() OVER() y evita errores de división y redondeo.

SQL analítico

Agrupar por rangos con CASE

Convierte valores continuos en tramos con CASE y resume cada categoría con GROUP BY sin huecos ni solapamientos.

Agregación

Primer y último día del mes en SQL

Calcula los límites de un mes por motor y evita perder filas al filtrar timestamps del último día.

Consultas

UPDATE con CASE: varias filas

Asigna valores distintos a varias filas en un solo UPDATE y conserva un WHERE explícito para limitar el alcance.

Modificar datos

ON UPDATE CASCADE

Propaga a las filas hijas un cambio de la clave referenciada y ayuda a mantener relaciones válidas.

Relaciones

No hay resultados

Prueba con una palabra más corta, elimina un filtro o busca el concepto en el curso.