Como trabajar con datos en mysql
SQL Básico & Filtro
Consultas, filtros y operadores esenciales para seleccionar y filtrar datos.
- "SELECT" — Selecciona columnas específicas de una o más tablas.
- "SELECT *" — Selecciona todas las columnas de una tabla.
- "DISTINCT" — Elimina filas duplicadas del resultado.
- "FROM" — Especifica la tabla o tablas de origen de los datos.
- "WHERE" — Filtra filas según una condición.
- "AND" — Combina múltiples condiciones que deben cumplirse todas.
- "OR" — Combina condiciones donde al menos una debe cumplirse.
- "NOT" — Niega una condición.
- "IN" — Verifica si un valor está dentro de una lista de valores.
- "NOT IN" — Verifica si un valor no está dentro de una lista.
- "BETWEEN" — Filtra valores dentro de un rango inclusivo.
- "LIKE" — Busca patrones en cadenas de texto (sensible a mayúsculas en MySQL por defecto según collation).
- "ILIKE" — No es nativo de MySQL; se emula con LIKE y COLLATE o LOWER/UPPER para búsqueda insensible a mayúsculas.
- "IS NULL" — Comprueba si un valor es nulo.
- "IS NOT NULL" — Comprueba si un valor no es nulo.
- "ORDER BY" — Ordena el resultado por una o más columnas.
- "ASC" — Orden ascendente (valor por defecto).
- "DESC" — Orden descendente.
- "LIMIT" — Limita el número de filas devueltas.
- "OFFSET" — Omite un número determinado de filas antes de empezar a devolver resultados.
- "AS" — Asigna un alias a una columna o tabla.
- "CASE WHEN" — Permite lógica condicional en consultas (similar a if-else).
- "COALESCE()" — Devuelve el primer valor no nulo de una lista de argumentos.
- "NULLIF()" — Devuelve NULL si dos expresiones son iguales; de lo contrario devuelve la primera.
- "CAST()" — Convierte un valor de un tipo de dato a otro.
- "ROUND()" — Redondea un número a un número específico de decimales.
- "UPPER()" — Convierte una cadena a mayúsculas.
- "LOWER()" — Convierte una cadena a minúsculas.
- "TRIM()" — Elimina espacios en blanco (u otros caracteres) al inicio y final de una cadena.
- "CONCAT()" — Concatena dos o más cadenas de texto.
Agregación y Funciones
Funciones de agregación, cálculos y manipulación de datos.
- "COUNT()" — Cuenta el número de filas o valores no nulos.
- "COUNT(*)" — Cuenta el número total de filas, incluyendo nulos.
- "COUNT(DISTINCT)" — Cuenta el número de valores únicos no nulos.
- "SUM()" — Calcula la suma de valores numéricos.
- "AVG()" — Calcula el promedio de valores numéricos.
- "SELF JOIN" — Une una tabla consigo misma.
- "MAX()" — Devuelve el valor máximo de una columna.
- "GROUP BY" — Agrupa filas que tienen los mismos valores en columnas especificadas.
- "HAVING" — Filtra grupos después de aplicar GROUP BY.
- "GROUPING SETS" — Permite múltiples niveles de agrupación en una sola consulta (soportado en MySQL 8.0+).
- "ROLLUP" — Genera subtotales y totales generales (soportado en MySQL).
- "CUBE" — Genera todas las combinaciones posibles de subtotales (limitado o emulado en MySQL).
- "DATE()" — Extrae la parte de fecha de un valor datetime.
- "EXTRACT()" — Extrae una parte específica (año, mes, día, etc.) de una fecha o hora.
- "DATE_TRUNC()" — No es nativo de MySQL; se emula con DATE_FORMAT o funciones equivalentes.
- "CURRENT_DATE" — Devuelve la fecha actual del servidor.
- "CURRENT_TIMESTAMP" — Devuelve la fecha y hora actual del servidor.
- "INTERVAL" — Representa un intervalo de tiempo para operaciones de fecha.
- "ABS()" — Devuelve el valor absoluto de un número.
- "CEIL()" — Redondea un número hacia arriba al entero más cercano.
- "FLOOR()" — Redondea un número hacia abajo al entero más cercano.
- "POWER()" — Eleva un número a una potencia especificada.
- "MOD()" — Devuelve el resto de una división.
- "LENGTH()" — Devuelve la longitud de una cadena en bytes o caracteres (según versión y charset).
- "SUBSTRING()" — Extrae una parte de una cadena.
- "REPLACE()" — Reemplaza todas las ocurrencias de una subcadena por otra.
- "POSITION()" — Devuelve la posición de una subcadena dentro de otra cadena.
- "STRING_AGG()" — No es nativo de MySQL; se usa GROUP_CONCAT() como equivalente.
- "GREATEST()" — Devuelve el mayor valor de una lista de argumentos.
- "LEAST()" — Devuelve el menor valor de una lista de argumentos.
Uniones y Subconsultas
Combinación de datos y consultas anidadas.
- "INNER JOIN" — Devuelve filas que tienen coincidencias en ambas tablas.
- "LEFT JOIN" — Devuelve todas las filas de la tabla izquierda y las coincidentes de la derecha.
- "RIGHT JOIN" — Devuelve todas las filas de la tabla derecha y las coincidentes de la izquierda.
- "FULL OUTER JOIN" — No es nativo de MySQL; se emula combinando LEFT y RIGHT JOIN con UNION.
- "CROSS JOIN" — Produce el producto cartesiano de dos tablas.
- "SELF JOIN" — Une una tabla consigo misma usando alias.
- "JOIN ... ON" — Especifica la condición de unión entre tablas.
- "JOIN ... USING" — Une tablas usando columnas con el mismo nombre.
- "UNION" — Combina resultados de dos consultas eliminando duplicados.
- "UNION ALL" — Combina resultados de dos consultas manteniendo duplicados.
- "INTERSECT" — No es nativo de MySQL; se emula con INNER JOIN o EXISTS.
- "EXCEPT" — No es nativo de MySQL; se emula con LEFT JOIN y IS NULL o NOT EXISTS.
- "EXISTS" — Devuelve verdadero si la subconsulta devuelve al menos una fila.
- "NOT EXISTS" — Devuelve verdadero si la subconsulta no devuelve ninguna fila.
- "ANY" — Compara un valor con cualquier valor devuelto por una subconsulta.
- "ALL" — Compara un valor con todos los valores devueltos por una subconsulta.
- "IN (SUBQUERY)" — Verifica si un valor está en el resultado de una subconsulta.
- "SCALAR SUBQUERY" — Subconsulta que devuelve un único valor.
- "CORRELATED SUBQUERY" — Subconsulta que referencia columnas de la consulta externa.
- "NESTED SUBQUERY" — Subconsulta anidada dentro de otra subconsulta.
- "WITH" — Define Common Table Expressions (CTE) temporales.
- "CTE" — Expresión de tabla común que mejora la legibilidad de consultas complejas.
- "RECURSIVE CTE" — CTE que se refiere a sí misma, útil para datos jerárquicos (MySQL 8.0+).
- "CREATE VIEW" — Crea una vista virtual basada en una consulta.
- "CREATE TABLE AS" — Crea una nueva tabla a partir del resultado de una consulta.
- "INSERT INTO" — Inserta nuevas filas en una tabla.
- "UPDATE" — Modifica datos existentes en una tabla.
- "DELETE" — Elimina filas de una tabla.
- "MERGE" — No es nativo de MySQL; se emula con INSERT ... ON DUPLICATE KEY UPDATE.
- "UPSERT" — Operación de inserción o actualización (usando ON DUPLICATE KEY UPDATE en MySQL).
Window & SQL Avanzado
Funciones de ventana y análisis avanzado (soportadas principalmente desde MySQL 8.0).
- "OVER()" — Define la ventana sobre la que opera una función de ventana.
- "PARTITION BY" — Divide el conjunto de resultados en particiones para funciones de ventana.
- "ORDER BY" — Ordena las filas dentro de cada partición de ventana.
- "ROW_NUMBER()" — Asigna un número secuencial único a cada fila dentro de la partición.
- "RANK()" — Asigna un ranking con posibles saltos en caso de empates.
- "DENSE_RANK()" — Asigna un ranking sin saltos en caso de empates.
- "NTILE()" — Divide las filas en un número especificado de grupos aproximadamente iguales.
- "LAG()" — Accede al valor de una fila anterior dentro de la partición.
- "LEAD()" — Accede al valor de una fila siguiente dentro de la partición.
- "FIRST_VALUE()" — Devuelve el primer valor de la ventana.
- "LAST_VALUE()" — Devuelve el último valor de la ventana.
- "NTH_VALUE()" — Devuelve el valor de la n-ésima fila de la ventana.
- "SUM() OVER()" — Calcula sumas acumuladas o por partición.
- "AVG() OVER()" — Calcula promedios móviles o por partición.
- "COUNT() OVER()" — Cuenta filas dentro de la ventana definida.
- "MIN() OVER()" — Devuelve el valor mínimo dentro de la ventana.
- "MAX() OVER()" — Devuelve el valor máximo dentro de la ventana.
- "ROWS BETWEEN" — Define el marco de ventana basado en número de filas.
- "RANGE BETWEEN" — Define el marco de ventana basado en valores de rango.
- "UNBOUNDED PRECEDING" — Indica desde el inicio de la partición en el marco de ventana.
- "CURRENT ROW" — Hace referencia a la fila actual dentro del marco de ventana.
- "PERCENT_RANK()" — Calcula el ranking porcentual de una fila.
- "CUME_DIST()" — Calcula la distribución acumulada de una fila.
- "PERCENTILE_CONT()" — No es nativo de MySQL; se emula con otras funciones o procedimientos.
- "PERCENTILE_DISC()" — No es nativo de MySQL; se emula con otras funciones o procedimientos.
- "QUALIFY" — No es nativo de MySQL; se emula filtrando después de funciones de ventana con subconsultas.
- "PIVOT" — No es nativo de MySQL; se emula con CASE WHEN y agregaciones.
- "UNPIVOT" — No es nativo de MySQL; se emula con UNION ALL o funciones de JSON.
- "JSON_EXTRACT()" — Extrae datos de un documento JSON.
- "EXPLAIN" — Muestra el plan de ejecución de una consulta para optimización.