🕒 6 min de lectura

Introducción a SQL: 2. El arte de la selección

Publicado el 19 de marzo de 2026

Introducción a SQL: 2. El arte de la selección

Para poder empezar a interacturar con la base de datos lo pimero que debemos conocer es la sentencia SELECT. Esta sentencia funciona para recuperar datos especificos de una o varias tablas. Sin embargo, en la arquitectura de datos profesional, el SELECT no es solo un comando de "lectura"; es un motor de proyección y filtrado que nos permite transformar datos crudos en información con valor de negocio.

1. La anatomía de una consulta

Toda consulta SELECT sigue una estructura lógica que el motor de la base de datos debe interpretar.

  • SELECT: Define las columnas(atributos) que queremos ver.
  • FROM: Especifica el origen (tabla o esquema) de donde provienen los datos.
-- Recuperamos solo el nombre y el salario de la tabla empleados

SELECT nombre, salario 
FROM empleados;
Select all

Aunque el uso de SELECT * (seleccionar todo) es muy común, en entornos productivos se considera una mala práctica. Es importante siempre especificar los nombres de las columnas para optimizar el ancho de banda y mejorar el rendimiento del sistema.

2.Personalización y filtrado

Los datos no se consultan de forma masiva sin un propósito. No basta con listar a todos los empleados de una compañía; las decisiones de negocio requieren segmentación. Habrá escenarios donde necesitemos identificar solo a los empleados cuyo apellido comience con la letra "A", aquellos con una antigüedad superior a tres años o quienes pertenezcan a un departamento específico.

Para lograr esta precisión, SELECT se apoya en cláusulas de filtrado:

  • Clausula WHERE

Es la encargada de evaluar cada fila y decidir si entra o no en nuestro conjunto.

-- Filtramos empleados del departamento de 'IT' 
--Filtramos que tengan salario mayor a 5000
SELECT nombre, puesto 
FROM empleados 
WHERE departamento = 'IT' 
  AND salario > 5000;

Aqui es donde aplicamos los operadores logicos y de comparación. Estos operadores nos permiten combinar múltiples condiciones en una consulta, aunque es importante tener en cuenta que SQL cuenta con muchas mas funciones y operadores que los que menciono, esto dependera del motor de base de datos que utilices, pero al ser los basicos funcionan bien en la mayoria.

Comparación

  • = Igual a
  • <> / != Diferente de
  • > / < Mayor / Menor que
  • >= / <= Mayor o igual / Menor o igual
  • BETWEEN Entre un rango
  • IN Dentro de una lista

Lógicos

  • AND Devuelve TRUE si todas las condiciones son verdaderas.
  • OR Devuelve TRUE si al menos una condición es verdadera.
  • NOT Invierte el valor lógico de la condición.
  • IS NULL Verifica si un valor está vacío.

Pattern Matching

  • LIKE Busca un patrón específico.
  • % Comodín que representa cero o más caracteres.
  • _ Comodín que representa un solo carácter.
  • ILIKE (En algunos motores) LIKE sin distinguir mayúsculas.
  • Clausulas ORDER BY y DISTINCT

  • ORDER BY: En SQL, los registros no tienen un orden natural. Si necesitas que tu lista aparezca organizada, debes usar ORDER BY. Si aplicamos el ORDER BY por si solo por defecto ordenara los datos de manera ascendente, pero si necesitaramos especificar en que orden los queremos usamos ASC para ir de menor a mayor (A-Z, 1-100) y DESC para ir de mayor a menor (Z-A, 100-1).

--Para ver quién tiene el salario más alto primero
SELECT nombre, salario 
FROM empleados 
ORDER BY salario DESC;

💡 PRO TIP: Ordenamiento por posición

En SQL, puedes referenciar las columnas por su índice numérico en lugar de su nombre. En el ejemplo anterior, el número 2representa la segunda columna definida en nuestro SELECT(salario).

-- El resultado es idéntico al ordenar por 'salario'
SELECT nombre, salario
FROM empleados
ORDER BY 2 DESC;

Nota extra: Aunque es muy útil para consultas rápidas, úsalo con precaución en aplicaciones reales. Si en el futuro añades o mueves columnas en tu SELECT, el número dejará de apuntar al dato correcto.

Uso de DISTINCT
  • DISTINCT : En SQL se utiliza para devolver únicamente valores únicos (sin duplicados) de una columna o conjunto de columnas en una consulta. Elimina filas repetidas de los resultados. Funciona con COUNT para contar elementos únicos.
SELECT DISTINCT departamento 
FROM empleados;

Transformación de datos

Un error común es pensar que el SELECT solo muestra lo que ya existe en la tabla. Pero en realidad, nos permite crear "columnas calculadas" que no están guardadas físicamente, pero que son útiles para reportes.

  • Operadores aritméticos : Permiten realizar cálculos matemáticos básicos como sumar(+),restar (-), multiplicar (*) y dividir(/) directamente sobre columnas numéricas
-- Por ejemplo para calcular el salario anual de un empleado
SELECT nombre, (salario * 12) AS "Salario Anual"
FROM empleados;

En este caso la columna 'Salario Anual' no existe en la tabla, sin embargo en esa columna veremos reflejado el calculo de salario anual por cada empleado

  • Concatenación : Se usa para combinar dos o más cadenas de texto en una sola. En el estándar SQL y en Oracle, se utilizan las barras dobles ||, sin embargo en otros motores como MySQL se suele usar CONCAT().
--Para mostrar un Nombre completo separado por un espacio 
SELECT nombre || ' ' || apellido AS "Nombre Completo"
FROM empleados;

Las comillas simples ' ' sirven para añadir el espacio entre el nombre y el apellido.

Alias de columnas

Cuando consultamos una tabla, los encabezados de las columnas suelen mostrar los nombres técnicos definidos por el administrador de la base de datos. Estos nombres suelen estar en mayúsculas, con guiones bajos o abreviaciones difíciles de leer para un usuario final (por ejemplo: FECHA_NAC_USU o SAL_MEN).

Para solucionar esto, SQL nos permite utilizar Alias a través de AS. Un alias es un nombre temporal que le asignamos a una columna (o a un cálculo) para que el resultado de nuestra consulta sea mucho más claro.

-- Ejemplo 1: Alias sencillo
SELECT nombre AS Empleado, salario AS Sueldo
FROM empleados;

-- Ejemplo 2: Alias con espacios (Requiere comillas dobles "")
-- Si tu alias tiene espacios o caracteres especiales, DEBES usar comillas.
SELECT nombre, (salario * 12) AS "Salario Anual"
FROM empleados;

💡

Recuerda que el alias solo cambia el nombre en el resultado de la consulta; no cambia el nombre real de la columna en la tabla. Además, debido al orden de ejecución de SQL (que vimos anteriormente), no puedes usar un alias dentro de la misma cláusula WHERE de esa consulta, ya que el alias se crea después de que el filtro se aplica.

Conclusión

Dominar la sentencia SELECT es mucho más que aprender una sintaxis; es adquirir la capacidad de interrogar a una base de datos. Como hemos visto, el SELECT es la herramienta que transforma datos crudos en información para la toma de decisiones.

Recuerda que, la eficiencia es la clave. Un desarrollador SQL no solo busca que la consulta funcione, sino que sea rápida, legible y segura. Aplicar buenas prácticas como evitar el SELECT * y entender el orden de ejecución te ayudará cuando escribas consultas mas complejas.

Ahora que ya sabes cómo extraer y transformar información, el siguiente reto es aprender a crear los contenedores donde vive esa información. En nuestra próxima entrada, exploraremos el lenguaje DDL (Data Definition Language), donde aprenderemos a construir tablas desde cero y definir las reglas que mantienen el orden de nuestros datos.

¡Gracias por leer y nos vemos en la próxima consulta!

Volver al inicio