Gráffica Academy
Creado para la ComunidadAprende a programar
Escribir al equipo

Contacta con el equipo de Gráffica Estudio Academy.

IG @ X in
SQL · Módulo 1

Fundamentos y tu primer SELECT

Todo lo que has aprendido hasta ahora —HTML, CSS— vive en el navegador. SQL vive en otro sitio completamente distinto: la base de datos, el lugar donde se guardan de verdad los clientes, los productos y los pedidos de un negocio real. Hoy conoces el idioma que se usa para hablar con ella — y, a diferencia de los cursos anteriores, aquí cada consulta que escribas se va a ejecutar de verdad.

¿Qué es SQL?

SQL son las siglas de Structured Query Language — Lenguaje de Consulta Estructurado—. No sirve para diseñar una página ni para darle color: sirve para preguntarle cosas a una base de datos y para decirle qué guardar, qué cambiar y qué borrar. Si HTML es el esqueleto de una página y CSS su ropa, SQL es el archivador gigante en la trastienda donde vive la información real — y tú acabas de recibir la llave.

Una base de datos se organiza en tablas, y cada tabla se parece sospechosamente a una hoja de cálculo: filas y columnas. Cada fila es un registro (un cliente, un producto), cada columna es un dato de ese registro (su nombre, su ciudad, su precio).

💡 Sobre los ejercicios de este curso

Todos los playgrounds de SQL de aquí en adelante ejecutan tus consultas de verdad, contra una base de datos de ejemplo que corre en tu propio navegador (gracias a SQLite compilado a WebAssembly — nada se envía a ningún servidor). Usaremos siempre la misma tienda de ejemplo, para que puedas ir conociéndola mejor módulo a módulo.

La base de datos de ejemplo: una tienda

A partir de aquí trabajaremos siempre con las mismas tres tablas, la base de datos de una tienda de electrónica pequeña. Consúltalas cuando te pierdas — volverás a ver este esquema en cada módulo.

clientes

  • id — INTEGER, clave primaria
  • nombre — TEXT
  • ciudad — TEXT
  • email — TEXT

productos

  • id — INTEGER, clave primaria
  • nombre — TEXT
  • categoria — TEXT
  • precio — REAL
  • stock — INTEGER

pedidos

  • id — INTEGER, clave primaria
  • cliente_id — INTEGER (→ clientes)
  • producto_id — INTEGER (→ productos)
  • cantidad — INTEGER
  • fecha — TEXT

Tu primera consulta: SELECT

SELECT es, con diferencia, el comando que más vas a escribir en tu vida con SQL: sirve para pedir datos. Se combina siempre con FROM, que dice de qué tabla los quieres. El asterisco * significa "todas las columnas".

consulta.sql
1
Pulsa "Ejecutar" para ver el resultado.

Prueba a cambiar el asterisco por columnas concretas, separadas por comas, para pedir solo lo que necesitas:

columnas.sql
1
Pulsa "Ejecutar" para ver el resultado.
⚠️ Error común

Usar SELECT * en un proyecto real cuando solo necesitas dos columnas. Funciona, pero le pides a la base de datos que mueva más datos de los necesarios — en una tabla con millones de filas, la diferencia de rendimiento es real. Pide siempre solo lo que vayas a usar.


SELECT DISTINCT: sin duplicados

Si le pides ciudad a la tabla de clientes, vas a ver "Córdoba" repetida tantas veces como clientes tengan esa ciudad. Añadiendo DISTINCT justo después de SELECT, le pides al motor que elimine las filas duplicadas del resultado.

distinct.sql
1
Pulsa "Ejecutar" para ver el resultado.

Comentarios en SQL

Igual que en HTML y CSS, en SQL puedes dejar notas que el motor ignora por completo. Hay dos formas:

-- comentario

Comenta el resto de la línea, desde los dos guiones hasta el final. La forma más habitual para una nota rápida.

/* comentario */

Comenta un bloque, aunque ocupe varias líneas. Útil para desactivar temporalmente un trozo de consulta mientras pruebas.

Sintaxis y buenas costumbres

  • SQL no distingue mayúsculas de minúsculas en sus palabras clave: select y SELECT funcionan igual. Aun así, la convención (y la que seguiremos en este curso) es escribir las palabras clave en mayúsculas — se lee muchísimo mejor entre los nombres de tus tablas y columnas.
  • Cada sentencia termina con punto y coma ;. En muchos motores es opcional si solo hay una consulta, pero acostúmbrate desde ya: en cuanto encadenes varias, es obligatorio.
  • Los nombres de tabla y columna, en minúsculas y sin espacios (usa guion bajo: cliente_id, no cliente id).

Ponlo a prueba

Comprueba lo que has aprendido

3 preguntas · sin nota, solo para afianzar lo de hoy

1. ¿Qué hace exactamente SELECT * FROM productos;?

2. ¿Para qué sirve DISTINCT?

3. ¿Cuál de estas es una forma válida de comentar en SQL?

Síguenos IG @ X in