Ejecuta una consulta para ver resultados.
Qué hace
SQL Playground te deja escribir y ejecutar consultas SQL reales directamente en tu navegador - sin instalaciones, sin registros, sin datos que salgan de tu máquina. Trae una base de datos de ejemplo lista para consultar (users + orders) para que puedas empezar a explorar joins, agregaciones y filtros en cuanto carga la página. Sustitúyela por tu propio esquema en cualquier momento y la base de datos se reconstruye en vivo.
Funciona con sql.js, un motor SQLite completo compilado a WebAssembly. Eso significa que obtienes comportamiento SQL real - transacciones, restricciones, agregaciones, subconsultas - ejecutándose 100% en el cliente. Los resultados se muestran en una tabla limpia con recuentos de filas y tiempos, y puedes exportarlos como CSV, JSON o Markdown con un clic.
Cómo usarlo
- El panel Schema de la izquierda viene precargado con una base de ejemplo
users+orders. Edítalo libremente - la base de datos se reconstruye automáticamente al dejar de escribir y una insignia verde de “aplicado” confirma que funcionó. - Escribe tu SQL en el panel Query de la derecha - ambos editores resaltan la sintaxis SQL mientras escribes - o pulsa una de las fichas de consultas de ejemplo (Select all, Filter, Aggregate, Join, Sort + limit, CTE, Subquery, Having, Like + order, Union) para cargar una consulta preconstruida.
- Pulsa Run (o ⌘/Ctrl + Enter) para ejecutar.
- Lee la tabla Results de abajo - muestra cabeceras de columna, valores tipados (los NULL tienen su propio estilo), un recuento de filas, una insignia de solo lectura para las consultas SELECT y el tiempo transcurrido en milisegundos.
- Usa el conmutador CSV / JSON / Markdown + Copy results para exportar la salida en tu formato preferido.
- Pulsa Copy share link para codificar tu esquema y tu consulta actuales en la URL - quien abra el enlace ve tu configuración exacta.
Ejemplos
Unir dos tablas y agregar
SELECT u.name, u.role, COUNT(o.id) AS orders, SUM(o.amount) AS total
FROM users u
LEFT JOIN orders o ON o.user_id = u.id
GROUP BY u.id
ORDER BY total DESC;
Devuelve cada usuario con su recuento de pedidos y su gasto total, ordenado de mayor a menor. Los usuarios sin pedidos aparecen con 0 / NULL.
Filtrar con una subconsulta
SELECT name, email FROM users
WHERE id IN (SELECT user_id FROM orders WHERE amount > 20);
Devuelve solo los usuarios que han hecho un pedido superior a $20.
Inspeccionar la estructura de una tabla
PRAGMA table_info(users);
Devuelve índice de columna, nombre, tipo, nulabilidad y valor por defecto de cada columna de la tabla users - útil para explorar esquemas desconocidos.
Buen saber
- 100% en el cliente. Tu SQL y tus datos nunca salen del navegador - todo se ejecuta localmente vía sql.js (SQLite compilado a WebAssembly). Seguro para esquemas sensibles.
- Edición de esquema en vivo. Cambia el panel Schema y la base de datos se reconstruye automáticamente (con debounce). Los errores se muestran en línea - las consultas permanecen deshabilitadas hasta que el esquema vuelve a ser válido.
- Dialecto SQLite. Esto es SQLite real - tienes funciones de ventana, CTE, funciones JSON y la mayor parte del repertorio de SQLite. Algunas cosas (procedimientos almacenados, sintaxis específica de MySQL/Postgres) no están soportadas.
- Compartible. Tu esquema y tu consulta se codifican en la URL, así que un enlace compartido reproduce el estado exacto de tu entorno.
- Herramientas relacionadas: Regex Tester, JSON Formatter.