Aprender funciones de SQL es importante, pero antes de llegar a las funciones, hay que dominar las sentencias que estructuran cualquier consulta: SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY, JOIN, entre otras.

Estas son la base del lenguaje y lo que realmente te permite pedirle a una base de datos lo que necesitas saber.

A continuación exploraremos las sentencias más usadas para análisis de datos, con ejemplos explicados paso a paso.

👇🏻👇🏻👇🏻

📘 Dataset de ejemplo: ventas

venta_id

fecha

cliente_id

producto

cantidad

precio_unitario

total

región

1

2024-12-01

101

A

2

100

200

Norte

2

2025-01-15

102

B

1

250

250

Sur

3

2025-02-10

101

A

3

100

300

Norte

4

2025-03-05

103

C

5

80

400

Este

5

2025-03-20

NULL

B

2

250

500

Sur

6

2025-04-01

104

A

1

120

120

Norte

7

2024-11-30

105

C

2

80

160

Oeste

8

2025-02-15

102

B

4

250

1000

Sur

1️ SELECT — el punto de partida de toda consulta

Qué hace: define qué columnas o cálculos quieres ver como resultado.

Ejemplo básico — seleccionar columnas específicas

Explicación:

  • SELECT elige columnas.
  • FROM indica de qué tabla provienen.
  • Devuelve una lista de todas las ventas mostrando solo esas tres columnas.

 

Ejemplo intermedio — crear nuevas columnas calculadas

Qué hace:

  • Crea una nueva columna (subtotal) calculando cantidad × precio_unitario.
  • El alias AS asigna un nombre a la columna derivada.

Tip: puedes usar alias descriptivos para que tus consultas sean más legibles, especialmente cuando comienzas a incluir cálculos o funciones.

 

2️ FROM — define la fuente de los datos

Qué hace: especifica la tabla o vista de donde se obtendrán los datos.
Sin FROM, SQL no sabría dónde buscar la información.

Ejemplo simple

Explicación:

  • * significa “todas las columnas”.
  • Muestra todos los registros de la tabla ventas.

 

Ejemplo intermedio — combinando FROM con subconsultas

Qué hace:

  • Dentro de los paréntesis se calcula el promedio de ventas por producto.
  • La subconsulta se llama resumen y se usa como fuente (FROM).

Tip: puedes tratar cualquier subconsulta como una tabla temporal para crear reportes más complejos paso a paso.

 

3️ WHERE — filtrar filas

Qué hace: devuelve solo las filas que cumplen una o más condiciones.

Ejemplo simple — ventas de la región Norte

Resultado: mostrará solo las filas donde región sea “Norte”.

Ejemplo — combinar condiciones con operadores lógicos

Explicación:

  • AND exige que ambas condiciones se cumplan.
  • En nuestro dataset, devolverá las filas 5 y 8 (ventas del Sur con total mayor a 400).

Otros operadores útiles:

  • OR → al menos una condición verdadera.
  • NOT → excluye coincidencias.
  • IN ('A','B') → lista de valores.
  • BETWEEN 100 AND 500 → rango de valores.
  • IS NULL / IS NOT NULL → comprobar valores nulos.

 

4️ ORDER BY — ordenar resultados

Qué hace: ordena el resultado por una o más columnas.

Ejemplo simple — ordenar por fecha ascendente

Explicación: muestra las ventas desde la más antigua a la más reciente.

Ejemplo intermedio — ordenar por total descendente y por producto

Qué hace:

  • Ordena por total de mayor a menor.
  • Si hay empates, ordena por producto alfabéticamente.

 

5️ GROUP BY — agrupar datos

Qué hace: agrupa filas para realizar cálculos agregados (SUM, COUNT, AVG, etc.).

Ejemplo simple — total de ventas por producto

Explicación:

  • Agrupa por producto.
  • Suma los valores de total de cada grupo.

Ejemplo intermedio — ventas promedio y cantidad de ventas por región

Qué hace:

  • Cuenta cuántas ventas hay por región.
  • Calcula el promedio del total en cada región.

 

6️ HAVING — filtrar después de agrupar

Qué hace: se usa con GROUP BY para filtrar los resultados agregados.

Ejemplo — mostrar solo productos con total mayor a 500

Explicación:

  • WHERE no puede usarse aquí porque el filtro depende de una agregación (SUM).
  • HAVING actúa después del GROUP BY.

Resultado: mostrará solo los productos cuyas ventas totales superen 500.

 

 

¿Quieres aprender más de SQL?

Inscríbete a nuestro curso práctico en www.datdata.com/sql