Pedir columnas: SELECT
SELECT nombre, precio FROM productos;
Se lee casi como una frase: selecciona estas columnas de esta tabla. El asterisco, SELECT *, trae todas.
Filtrar filas: WHERE
SELECT nombre, precio FROM productos WHERE precio > 20000 AND stock > 0;
Los textos van entre comillas simples: WHERE region = 'Biobío'. Para buscar parte de un texto se usa LIKE '%llave%'. Para valores vacíos se usa IS NULL, no = NULL.
Ordenar y limitar: ORDER BY y LIMIT
SELECT nombre, precio FROM productos ORDER BY precio DESC LIMIT 5;
Unir tablas: JOIN
Los datos suelen estar repartidos. Un producto guarda el número de su categoría, y el nombre está en otra tabla. JOIN las une por esa columna.
SELECT p.nombre, c.nombre AS categoria FROM productos p JOIN categorias c ON c.id = p.categoria_id;
JOIN deja solo las filas que calzan en ambas tablas. LEFT JOIN deja todas las de la izquierda, aunque no calcen.
Resumir: GROUP BY
SELECT categoria_id, COUNT(*) AS productos, AVG(precio) AS promedio FROM productos GROUP BY categoria_id HAVING COUNT(*) > 3;
WHERE filtra filas antes de agrupar. HAVING filtra grupos después. Las funciones más usadas son COUNT, SUM, AVG, MIN y MAX.
El orden en que se escribe
SELECT, FROM, JOIN, WHERE, GROUP BY, HAVING, ORDER BY, LIMIT. Cambiarlo es un error de sintaxis.
Para practicar, sigue con los ejercicios.
Preguntas frecuentes
¿Qué significa SQL?
Structured Query Language, lenguaje de consulta estructurado. Lo usan PostgreSQL, MySQL, SQLite, SQL Server y Oracle, con diferencias menores.
¿Importan las mayúsculas?
Las palabras clave funcionan igual en mayúscula o minúscula. Escribirlas en mayúscula es una costumbre para leer mejor.
Revisado el 6 de noviembre de 2026.