Lección 4 de 15 · Lectura y práctica
Tu primera consulta SQL
CONCEPTO CLAVE: Una consulta SQL es un comando que enviamos a la base de datos para solicitar información específica. Piensa en ella como una pregunta que le haces a tu base de datos en un idioma que ella entiende perfectamente..
Esta es una lección del contenido anterior de Cursalo. Si ya estudiaste o compraste este curso, entra con tu cuenta para guardar tu progreso y abrir el resto de las clases. No necesitas comprar nada de nuevo.
Tu Primera Consulta SQL
¡Felicitaciones! Si has llegado hasta aquí, significa que ya comprendes qué es una base de datos y cómo se organizan los datos en tablas. Ahora es momento de dar el paso más emocionante: aprender a preguntar a tu base de datos. Para eso existen las consultas SQL.
En esta lección descubrirás cómo escribir tu primera consulta, entenderás su estructura básica y realizarás ejemplos prácticos que podrás ejecutar inmediatamente en tu motor de base de datos favorito.
¿Qué es una consulta SQL?
Una consulta SQL es una instrucción que le damos a la base de datos para que realice una acción específica. Esta acción puede ser:
- Recuperar datos (la más común, usando SELECT)
- Insertar nuevos registros (usando INSERT)
- Actualizar información existente (usando UPDATE)
- Eliminar datos (usando DELETE)
La Estructura Básica de SELECT
La sentencia más fundamental en SQL es SELECT. Su propósito es seleccionar y mostrar datos de una o varias columnas. La sintaxis más básica es:
SELECT columna1, columna2 FROM nombre_tabla;
Vamos a desglosar cada parte de esta consulta:
- SELECT — Le indica a la base de datos que queremos recuperar datos.
- columna1, columna2 — Especifica cuáles columnas queremos ver. Podemos indicar una o muchas, separadas por comas.
- FROM — Indica de qué tabla vamos a obtener los datos.
- nombre_tabla — El nombre de la tabla donde están los datos.
- ; — El punto y coma marca el final de la consulta (en la mayoría de sistemas es opcional, pero es buena práctica incluirlo).
Ejemplos Prácticos Paso a Paso
Imaginemos que tenemos una tabla llamada empleados con la siguiente información:
| nombre | apellido | departamento | salario |
|---|---|---|---|
| María | García | Ventas | 45000 |
| Carlos | Rodríguez | Marketing | 52000 |
| Ana | Martínez | Ventas | 48000 |
| Luis | Hernández | TI | 61000 |
Ejemplo 1: Seleccionar todas las columnas
Si queremos ver absolutamente todos los datos de la tabla, podemos usar el asterisco *, que actúa como un comodín representando "todas las columnas":
SELECT * FROM empleados;
Este comando devolverá la tabla completa que vimos anteriormente.
Ejemplo 2: Seleccionar columnas específicas
Si solo nos interesan los nombres y apellidos de los empleados, escribimos:
SELECT nombre, apellido FROM empleados;
El resultado sería:
| nombre | apellido |
|---|---|
| María | García |
| Carlos | Rodríguez |
| Ana | Martínez |
| Luis | Hernández |
Ejemplo 3: Seleccionar una sola columna
Para ver únicamente los departamentos disponibles:
SELECT departamento FROM empleados;
SELECT *. Esto hace tu código más mantenible y rápido, ya que la base de datos no necesita "descubrir" qué columnas existen cada vez.El Poder de DISTINCT
¿Notaste que en el ejemplo anterior, "Ventas" aparecía dos veces? A veces necesitamos ver valores únicos, sin duplicados. Para eso existe DISTINCT:
SELECT DISTINCT departamento FROM empleados;
Resultado:
| departamento |
|---|
| Ventas |
| Marketing |
| TI |
"DISTINCT es como pedirle a tu base de datos que te muestre el menú sin repeticiones: si hay tres tipos de pasta, te muestra solo uno de cada tipo."
Expresiones y Cálculos en SELECT
SQL no solo sirve para recuperar datos tal como están; también podemos realizar cálculos y transformaciones directamente en la consulta. Por ejemplo:
SELECT nombre, salario, salario * 1.10 FROM empleados;
Esto mostraría una columna extra con el salario aumentado un 10%:
| nombre | salario | salario * 1.10 |
|---|---|---|
| María | 45000 | 49500 |
| Carlos | 52000 | 57200 |
| Ana | 48000 | 52800 |
| Luis | 61000 | 67100 |
Aliases: Nombres Alternativos para Columnas
Cuando creamos columnas calculadas o queremos dar un nombre más claro a nuestros resultados, podemos usar aliases con la palabra clave AS:
SELECT nombre, salario AS salario_original, salario * 1.10 AS nuevo_salario FROM empleados;
El resultado ahora tendrá encabezados más legibles:
| nombre | salario_original | nuevo_salario |
|---|---|---|
| María | 45000 | 49500 |
| Carlos | 52000 | 57200 |
| Ana | 48000 | 52800 |
| Luis | 61000 | 67100 |
Funciones de Agregado Básicas
SQL incluye funciones incorporadas para realizar cálculos comunes. Aquí las más importantes:
| Función | Descripción | Ejemplo |
|---|---|---|
| COUNT() | Cuenta registros | COUNT(*) |
| SUM() | Suma valores | SUM(salario) |
| AVG() | Calcula promedio | AVG(salario) |
| MAX() | Valor máximo | MAX(salario) |
| MIN() | Valor mínimo | MIN(salario) |
Veamos un ejemplo práctico:
SELECT COUNT(*) AS total_empleados, AVG(salario) AS promedio_salarial FROM empleados;
El Orden de las Palabras Importa
En SQL, las palabras clave tienen un orden específico que debes respetar. Se conoce como orden de ejecución:
- SELECT — Qué columnas queremos (se ejecuta segundo, pero se escribe primero)
- FROM — De dónde vienen los datos
- WHERE — Filtrar registros (lo aprenderás en la siguiente lección)
- GROUP BY — Agrupar resultados
- HAVING — Filtrar grupos
- ORDER BY — Ordenar el resultado
Ver más: ¿Por qué SELECT se ejecuta después si se escribe primero?
Aunque escribimos SELECT primero, internamente la base de datos primero identifica de qué tabla va a extraer datos (FROM), luego aplica filtros (WHERE), procesa agrupamientos (GROUP BY), filtra grupos (HAVING), selecciona las columnas solicitadas (SELECT), las ordena (ORDER BY) y finalmente las presenta. Es como leer un libro al revés: la historia se cuenta en un orden diferente al que está escrita en la página.
Errores Comunes y Cómo Evitarlos
Aunque muchos sistemas lo perdonan, es buena práctica incluirlo siempre. Sin él, si envías dos consultas seguidas, el sistema no sabrá dónde termina una y comienza otra.
Error #2: Nombres de columnas o tablas mal escritos
SQL es case-sensitive en la mayoría de sistemas para nombres de objetos. "Nombre" y "nombre" podrían ser cosas diferentes dependiendo de tu motor de base de datos.
Error #3: Olvidar las comas entre columnas
Si seleccionas varias columnas, sepáralas con comas: SELECT nombre, apellido, departamento
Práctica Recomendada
- Instala una base de datos de prueba (MySQL, PostgreSQL, SQLite o SQL Server Express)
- Importa una base de datos de ejemplo como "Sakila" o "Northwind"
- Practica escribir consultas SELECT todos los días durante una semana
- Intenta responder preguntas simples sobre los datos usando solo SELECT
Resumen de lo Aprendido
En esta lección cubrimos los fundamentos de tu primera consulta SQL:
- Aprendiste que una consulta SQL es un comando para interactuar con la base de datos
- Dominamos la estructura básica de SELECT columna FROM tabla
- Descubriste cómo usar SELECT * para todas las columnas
- Aprendiste a usar DISTINCT para eliminar duplicados
- Exploraste los aliases con AS para nombres más claros
- Conociste las funciones de agregado básicas
Si quieres ver únicamente los nombres únicos de los departamentos en una tabla llamada "tienda", ¿cuál consulta usarías?
- A) SELECT departamento FROM tienda;
- B) SELECT UNIQUE departamento FROM tienda;
- C) SELECT DISTINCT departamento FROM tienda;
- D) SELECT ONLY departamento FROM tienda;
¿Qué símbolo se usa para seleccionar TODAS las columnas de una tabla?
- A) %
- B) #
- C) *
- D) ALL
¿Para qué sirve la palabra clave AS en una consulta SELECT?
- A) Para ordenar los resultados
- B) Para filtrar datos
- C) Para asignar un nombre alternativo (alias) a una columna o tabla
- D) Para unir tablas
"La diferencia entre un principiante y un experto en SQL no es memorizar más comandos, sino saber combinar los que ya conoces de formas creativas para resolver problemas complejos."