◯ Gratis: 5 usos/día • Se restablece en 17h 9m
Desarrollo & Técnico

Generador de consultas SQL

Describa lo que necesita en inglés sencillo y obtenga una consulta SQL correcta y legible para PostgreSQL, MySQL, SQLite, SQL Server, BigQuery o Snowflake — respetando su esquema, con cada cláusula explicada y notas sobre índices y rendimiento.

Aprender más

El Generador de consultas SQL convierte una pregunta — 'ingresos mensuales por país para 2025, solo clientes con más de tres pedidos' — en una consulta escrita para la base de datos que utiliza: PostgreSQL, MySQL y MariaDB, SQLite, SQL Server, BigQuery o Snowflake. Pegue sus tablas y columnas y la consulta usará exactamente esos nombres; deje el esquema vacío y indicará las suposiciones que hizo. Usted elige el estilo (CTEs legibles, compacto o analítico con funciones de ventana) y la cantidad de explicación que desea, y cada respuesta termina con la forma del resultado y los índices que lo harían rápido. Nunca escribe sentencias destructivas a menos que usted las solicite.

0 / 4000
0 / 10000

✓ Gratis — sin registro y sin tarjeta de crédito.

Todos los públicos

Ingresos mensuales por país, solo clientes activos

Informe financiero con filtro de cliente estilo HAVING

Ver vista previa de entrada y salida

Entrada

¿Qué debe devolver la consulta?
Monthly revenue per country for 2025, counting only customers who placed more than 3 orders in 2025. Sort by month, then revenue descending.
Tablas y columnas (opcional)
orders(id, customer_id, total_cents integer, created_at timestamp) customers(id, country text, signup_at timestamp)
Dialecto SQL
PostgreSQL
Estilo de consulta
Legible (CTEs, una cláusula por línea)
Explicación
Breve

Salida (extracto)

```sql
WITH active_customers AS (
  SELECT o.customer_id
  FROM orders AS o
  WHERE o.created_at >= DATE '2025-01-01'
    AND o.created_at <  DATE '2026-01-01'
  GROUP BY o.customer_id
  HAVING COUNT(*) > 3
)
SELECT
  DATE_TRUNC('month', o.created_at)::date AS month,
  c.country,
  SUM(o.total_cents) / 100.0            AS revenue
FROM orders AS o
JOIN active_customers AS a ON a.customer_id = o.customer_id
JOIN customers        AS c ON c.id = o.customer_id
WHERE o.created_at >= DATE '2025-01-01'
  AND o.created_at <  DATE '2026-01-01'
GROUP BY 1, 2
ORDER BY month, revenue DESC;
```

**Esquema usado tal cual.**

El CTE encuentra clientes con más de tres pedidos en 2025; la consulta principal conserva solo sus pedidos, trunca cada pedido a su mes y suma los ingresos por mes y país. El rango de fechas es semiabierto, por lo que el 31 de diciembre se cuenta una sola vez…
Desarrolladores

Último pedido por cliente

Consulta con funciones ventana que reemplaza una subconsulta correlacionada

Ver vista previa de entrada y salida

Entrada

¿Qué debe devolver la consulta?
For every customer, their most recent order with its total and date.
Tablas y columnas (opcional)
orders(id, customer_id, total_cents integer, created_at timestamp) customers(id, email text)
Dialecto SQL
MySQL / MariaDB
Estilo de consulta
Analítico (funciones de ventana cuando sea útil)
Explicación
Detallado (cláusula por cláusula)

Salida (extracto)

```sql
WITH ranked AS (
  SELECT
    o.customer_id,
    o.id          AS order_id,
    o.total_cents,
    o.created_at,
    ROW_NUMBER() OVER (PARTITION BY o.customer_id ORDER BY o.created_at DESC, o.id DESC) AS rn
  FROM orders AS o
)
SELECT c.id AS customer_id, c.email, r.order_id, r.total_cents / 100.0 AS total, r.created_at
FROM customers AS c
JOIN ranked AS r ON r.customer_id = c.id AND r.rn = 1
ORDER BY r.created_at DESC;
```

**Esquema usado tal cual.**

| Cláusula | Qué hace |
|---|---|
| `ROW_NUMBER() OVER (PARTITION BY … ORDER BY created_at DESC, id DESC)` | numera los pedidos de cada cliente del más reciente al más antiguo; el desempate por id hace que el resultado sea determinista |
| `JOIN ranked … AND r.rn = 1` | mantiene exactamente una fila por cliente |…

Tus resultados de Generador de consultas SQL aparecerán aquí

Espera bloques de código limpios con comentarios, además de una breve explicación de los cambios.

Cómo usar Generador de consultas SQL

  1. Escribe la pregunta como la harías a un colega: qué filas, qué filtros, qué agrupación, qué orden.
  2. Pega tus tablas y columnas si las tienes — una tabla por línea con sus columnas entre corchetes. La consulta entonces usa tus nombres reales y no necesita edición.
  3. Elige el dialecto que utilizas; las funciones de fecha, LIMIT frente a TOP y el quoting difieren entre PostgreSQL, MySQL, SQLite, SQL Server, BigQuery y Snowflake.
  4. Elige explicación 'Detallado' cuando estás aprendiendo o revisando la solicitud de otro, 'Solo consulta' cuando sabes lo que pediste.

Casos de uso

1

Responder a una pregunta de negocio de un analista sin esperar al equipo de datos

2

Convertir una solicitud de informe en una consulta que respete el esquema real del almacén

3

Reescribir una consulta lenta en una versión legible con CTE y los índices que necesita

4

Traducir una consulta de MySQL a PostgreSQL o BigQuery al migrar

5

Redactar el SELECT que muestra qué tocaría un UPDATE o DELETE antes de ejecutarlo

Consejos para los mejores resultados

  • Incluye los tipos de columna en el esquema (created_at timestamp, total_cents integer) y la consulta gestiona fechas y dinero correctamente.
  • Expresa 'solo' y 'al menos' explícitamente — 'clientes con más de 3 pedidos' se convierte en una cláusula HAVING, no en WHERE.
  • Para un dashboard, solicita el estilo analítico: las funciones ventana evitan los auto‑joins que ralentizan los informes.
  • Lee la sección de rendimiento; nombra el índice que convierte un escaneo completo de tabla en una búsqueda.

Preguntas frecuentes

¿Qué bases de datos son compatibles?

PostgreSQL, MySQL y MariaDB, SQLite, SQL Server (T-SQL), BigQuery y Snowflake. La consulta usa las funciones y sintaxis propias de ese dialecto — truncamiento de fechas, LIMIT o TOP, quoting y agregación de cadenas difieren, y la salida se genera para el que seleccionaste.

¿Tengo que pegar mi esquema?

No, pero ayuda. Con un esquema la consulta usa tus nombres exactos de tabla y columna y no necesita edición. Sin él, la herramienta asume un esquema mínimo plausible y enumera cada suposición encima de la explicación para que puedas corregirlo.

¿Generará un DELETE o UPDATE?

Solo cuando solicitas explícitamente una modificación. Incluso entonces envuelve la sentencia en una transacción y coloca primero el SELECT que muestra las filas afectadas, para que puedas comprobar antes de confirmar.

¿Cómo gestiona fechas y dinero?

Las fechas usan las funciones nativas de truncamiento y comparación del dialecto, y los rangos se escriben como intervalos semiabiertos para que ningún día se cuente dos veces. El dinero almacenado como centavos enteros permanece entero hasta la división final, y la forma del resultado indica en qué unidad está cada columna.

¿Se garantiza que la consulta sea rápida?

Se escribe para que sea correcta primero y legible después, y cada respuesta termina con los índices que la harían rápida y los constructos que impedirían el uso de índices. Ejecútala contra un volumen de datos realista antes de programarla — solo tu base de datos conoce sus estadísticas.

🔒
Tu privacidad está protegida

Conservamos tu entrada y el resultado durante un máximo de 90 días para prestar el servicio, evitar abusos y, si has iniciado sesión, mostrarte tu historial. Los procesan los proveedores de IA indicados en nuestra Política de privacidad. No los vendemos.

Herramientas relacionadas

Probar este agente

Agente de Automatización de APIDescribe una automatización en inglés sencillo → receta REST/webhook → ejemplos curl + Python + Node…Probar este agente →

Flujo relacionado

Publica un Video LargoIdea → guion → miniatura → subir metadatos en una sola sesiónEjecutar flujo →

Leer más