Chuleta de SQL
Las sentencias SQL principales para consultar y cambiar datos, agrupadas por tarea. La sintaxis exacta varía un poco entre bases de datos (PostgreSQL, MySQL, SQLite, SQL Server), pero los fundamentos de abajo son casi universales. Para ordenar una consulta desordenada, usa el formateador de SQL.
Actualizado 2026-07-06
Consultar (SELECT)
| Sentencia | Qué hace |
|---|---|
| SELECT * FROM t | Devolver todas las columnas y filas de la tabla t |
| SELECT a, b FROM t | Devolver solo las columnas a y b |
| SELECT DISTINCT a FROM t | Devolver los valores únicos de a |
| ... WHERE a = 5 | Filtrar filas donde a es igual a 5 |
| ... ORDER BY a DESC | Ordenar por a, descendente |
| ... LIMIT 10 | Devolver como máximo 10 filas |
| ... OFFSET 20 | Saltar las primeras 20 filas (paginación) |
| SELECT COUNT(*) FROM t | Contar filas |
| SELECT SUM(a), AVG(a) FROM t | Agregado: total y promedio de a |
| ... GROUP BY category | Agrupar filas para agregar por categoría |
| ... HAVING COUNT(*) > 5 | Filtrar grupos (WHERE para agregados) |
Filtrar (WHERE)
| Sentencia | Qué hace |
|---|---|
| WHERE a IN (1, 2, 3) | Coincidir con cualquier valor de una lista |
| WHERE a BETWEEN 1 AND 9 | Coincidir con un rango (inclusive) |
| WHERE name LIKE 'A%' | Coincidencia de patrón: empieza por A (% = cualquier carácter) |
| WHERE name LIKE '_at' | _ coincide con exactamente un carácter |
| WHERE a IS NULL | Coincidir con filas donde a no tiene valor |
| WHERE a > 5 AND b < 10 | Combinar condiciones con AND / OR |
Unir tablas
| Sentencia | Qué hace |
|---|---|
| INNER JOIN u ON t.id = u.tid | Filas con coincidencia en ambas tablas |
| LEFT JOIN u ON t.id = u.tid | Todas las filas de la tabla izquierda, coincidan o no |
| RIGHT JOIN u ON t.id = u.tid | Todas las filas de la tabla derecha |
| FULL JOIN u ON t.id = u.tid | Todas las filas de ambas tablas |
Cambiar datos
| Sentencia | Qué hace |
|---|---|
| INSERT INTO t (a, b) VALUES (1, 2) | Añadir una fila nueva |
| UPDATE t SET a = 5 WHERE id = 1 | Cambiar filas existentes (¡cuidado con el WHERE!) |
| DELETE FROM t WHERE id = 1 | Eliminar filas (¡cuidado con el WHERE!) |
Esquema (tablas e índices)
| Sentencia | Qué hace |
|---|---|
| CREATE TABLE t (id INT, name TEXT) | Crear una tabla nueva |
| ALTER TABLE t ADD col TEXT | Añadir una columna |
| DROP TABLE t | Eliminar una tabla y todos sus datos |
| CREATE INDEX idx ON t (a) | Añadir un índice para acelerar las búsquedas por a |
Un hábito de seguridad que conviene mantener: escribe la cláusula WHERE de un UPDATE o DELETE primero. Ejecutar uno sin WHERE cambia o elimina todas las filas de la tabla.
Herramientas relacionadas