La sentencia SELECT básica

Lectura
20 min~8 min lectura

La Sentencia SELECT Básica en SQL

Bienvenido a tu primera lección práctica sobre SQL. En este módulo aprenderás a utilizar la sentencia SELECT, que es sin duda la instrucción más importante y más utilizada en el mundo de las bases de datos relacionales. Con ella podrás recuperar información almacenada en tus tablas y transformar datos crudos en información útil.

CONCEPTO CLAVE: La sentencia SELECT es el corazón del lenguaje SQL. Permite seleccionar (recuperar) datos de una o más tablas en una base de datos. Cada consulta que hagas en SQL comenzará inevitablemente con esta instrucción.

¿Qué es SELECT y por qué es tan importante?

Imagina que tienes una biblioteca gigante llena de libros (tus datos). La sentencia SELECT sería como el bibliotecario que sabe exactamente dónde está cada libro y puede traerte exactamente los que necesitas, ignoring los que no te interesan.

"Saber SQL es como tener superpoderes para trabajar con datos. Con una sola instrucción SELECT puedes filtrar, ordenar y transformar millones de registros en segundos."

Sintaxis Básica de SELECT

La forma más simple de la sentencia SELECT selecciona todas las columnas de una tabla. Su sintaxis fundamental es:

SELECT columna1, columna2, ...
FROM nombre_tabla;

También puedes seleccionar TODAS las columnas usando el asterisco (*):

SELECT *
FROM nombre_tabla;
💡 Consejo profesional: Aunque SELECT * es útil para explorar tablas, en producción es mejor especificar las columnas que necesitas. Esto hace tu código más rápido y predecible, especialmente si la estructura de la tabla cambia en el futuro.

Tablas de Ejemplo: Nuestra Base de Datos de Práctica

Para todos los ejemplos de esta lección, utilizaremos una base de datos de una tienda de electrónica llamada TechStore. Aquí está la tabla principal que usaremos:

Tabla: productos
id_producto nombre categoria precio stock marca
1 Laptop HP Pavilion Computadoras 899.99 25 HP
2 Samsung Galaxy S23 Smartphones 799.99 50 Samsung
3 Auriculares Sony Audio 149.99 100 Sony
4 Monitor LG 27" Periféricos 299.99 30 LG
5 iPhone 15 Pro Smartphones 1199.99 40 Apple

Ejemplos Prácticos Paso a Paso

  1. Seleccionar todas las columnas: Usa SELECT * para ver toda la información de la tabla productos.
  2. Seleccionar columnas específicas: Elige solo las columnas que necesitas para reducir la cantidad de datos.
  3. Usar alias de columnas: Renombra las columnas en el resultado para que sean más legibles.
  4. Combinar técnicas: Aplica todo junto para crear consultas más sofisticadas.

Ejemplo 1: Seleccionar todas las columnas

SELECT *
FROM productos;

Resultado:

id_producto nombre categoria precio stock marca
1 Laptop HP Pavilion Computadoras 899.99 25 HP
2 Samsung Galaxy S23 Smartphones 799.99 50 Samsung
3 Auriculares Sony Audio 149.99 100 Sony
4 Monitor LG 27" Periféricos 299.99 30 LG
5 iPhone 15 Pro Smartphones 1199.99 40 Apple

Ejemplo 2: Seleccionar columnas específicas

A veces no necesitas toda la información. Por ejemplo, si solo quieres ver los nombres de productos y sus precios:

SELECT nombre, precio
FROM productos;

Resultado:

nombre precio
Laptop HP Pavilion 899.99
Samsung Galaxy S23 799.99
Auriculares Sony 149.99
Monitor LG 27" 299.99
iPhone 15 Pro 1199.99

Ejemplo 3: Usar alias de columnas

Los alias hacen tu consulta más clara usando la palabra clave AS:

SELECT nombre AS "Nombre del Producto",
       precio AS "Precio en USD",
       stock AS "Cantidad Disponible"
FROM productos;

Resultado:

Nombre del Producto Precio en USD Cantidad Disponible
Laptop HP Pavilion 899.99 25
Samsung Galaxy S23 799.99 50
Auriculares Sony 149.99 100
Monitor LG 27" 299.99 30
iPhone 15 Pro 1199.99 40

Ejemplo 4: Seleccionar con expresiones

También puedes crear columnas calculadas directamente en tu SELECT:

SELECT nombre,
       precio,
       precio * 1.16 AS "Precio con IVA"
FROM productos;

Esto es increíblemente útil porque te permite realizar cálculos sin modificar los datos originales en la base de datos.

📌 Aplicación real: En el mundo laboral, las empresas constantemente necesitan ver sus datos con impuestos, descuentos aplicados, o márgenes de ganancia. Las expresiones en SELECT son tu herramienta para esto.

Selección sin duplicados: DISTINCT

¿Qué pasa si quieres saber qué categorías únicas de productos tienes? Aquí entra DISTINCT:

SELECT DISTINCT categoria
FROM productos;

Resultado:

categoria
Computadoras
Smartphones
Audio
Periféricos

Sin DISTINCT, habrías visto "Smartphones" dos veces porque tienes dos productos en esa categoría.

⚠️ Advertencia importante: Usa DISTINCT con precaución en tablas grandes. El motor de base de datos debe comparar cada fila para eliminar duplicados, lo que puede hacer las consultas más lentas. Solo úsalo cuando realmente necesites valores únicos.

Limitando Resultados: LIMIT

Cuando trabajas con tablas enormes, a veces solo necesitas ver unos pocos registros para verificar tu consulta:

SELECT nombre, precio
FROM productos
ORDER BY precio DESC
LIMIT 3;

Esta consulta te muestra los 3 productos más caros. (Aprenderás sobre ORDER BY y LIMIT en lecciones futuras, pero ya sabes que existen).

💡 Tip de productividad: Durante el desarrollo y depuración de consultas complejas, usa LIMIT para probar con un subconjunto pequeño de datos. Una vez que confirmes que funciona, elimina el LIMIT.
Ver más: Diferencias de sintaxis entre sistemas de bases de datos

Aunque el SQL es un estándar, cada sistema de base de datos tiene sus particularidades:

  • MySQL / PostgreSQL / SQLite: Usan LIMIT n
  • SQL Server: Usa SELECT TOP n columnas FROM tabla
  • Oracle: Usa WHERE ROWNUM <= n

En esta lección nos centraremos en la sintaxis estándar que funciona en la mayoría de sistemas modernos.

Formato y Estilo de Código SQL

Aunque SQL no exige un formato específico, seguir convenciones hace tu código más legible:

-- ❌ Código difícil de leer (válido pero poco profesional)
SELECT nombre,precio,stock FROM productos;

-- ✅ Código bien formateado (recomendado)
SELECT nombre,
       precio,
       stock
FROM productos;

-- ✅ Alternativa compacta para pocas columnas
SELECT nombre, precio, stock
FROM productos;
"Escribe tu SQL como si otra persona tuviera que mantenerlo mañana. Porque probablemente así será."

Errores Comunes y Cómo Evitarlos

📌 Error #1: Olvidar el punto y coma

En la mayoría de sistemas, cada sentencia SQL debe terminar con ;. Olvidarlo puede causar errores o comportamiento inesperado.

📌 Error #2: Nombres de columnas mal escritos

SQL es sensible a mayúsculas y minúsculas en la mayoría de sistemas. Nombre y nombre podrían ser cosas diferentes dependiendo de tu base de datos.

📌 Error #3: Usar comillas incorrectas

En SQL estándar, las comillas simples ' ' son para texto, y las comillas dobles " " para identificadores como nombres de columnas. Algunos sistemas como MySQL usan acentos graves ` ` para identificadores.

Resumen de Componentes SELECT

Componente Descripción Ejemplo
SELECT Indica qué columnas seleccionar SELECT nombre, precio
* Selecciona todas las columnas SELECT *
AS Crea un alias temporal precio AS "Precio USD"
DISTINCT Elimina duplicados SELECT DISTINCT categoria
FROM Indica la tabla fuente FROM productos
LIMIT Restringe el número de filas LIMIT 10

Practicando lo Aprendido

Ahora es tu turno. Basándote en la tabla productos que conoces, intenta escribir las siguientes consultas:

  1. Seleccióna el nombre y la marca de todos los productos.
  2. Encuentra todos los valores únicos de marca en la tabla.
  3. Crea una consulta que muestre el nombre del producto con un alias "Artículo" y el precio con un alias "Costo".
  4. Escribe una consulta que calcule el precio con un 10% de descuento (usa la fórmula: precio * 0.90).
🧠 Quiz: Sentencia SELECT Básica

¿Cuál de las siguientes consultas seleccionará TODAS las columnas de la tabla "clientes"?

  • A) SELECT columnas FROM clientes;
  • B) SELECT * FROM clientes;
  • C) SELECT ALL FROM clientes;
  • D) SELECT EVERY FROM clientes;
✅ Respuesta correcta: B) SELECT * FROM clientes;

El asterisco (*) es el comodín universal en SQL que significa "todas las columnas". Es la forma más rápida de seleccionar todos los datos de una tabla sin tener que escribir cada nombre de columna individualmente.

🧠 Quiz: Alias y DISTINCT

¿Qué palabra clave usarías para mostrar solo valores únicos sin repeticiones?

  • A) UNIQUE
  • B) DISTINCT
  • C) ONLY
  • D) SINGLE
✅ Respuesta correcta: B) DISTINCT

DISTINCT es la palabra clave que elimina duplicados del resultado. Si tienes 100 clientes pero solo 5 ciudades diferentes, SELECT DISTINCT ciudad FROM clientes te mostrará solo las 5 ciudades únicas.

Conclusión

Has dado tu primer paso importante en SQL. Ahora sabes cómo:

  • ✅ Usar SELECT para elegir columnas específicas
  • ✅ Usar * para seleccionar todas las columnas
  • ✅ Crear alias descriptivos con AS
  • ✅ Eliminar duplicados con DISTINCT
  • ✅ Crear columnas calculadas
CONCEPTO CLAVE: SELECT es solo el comienzo. En las próximas lecciones aprenderás a filtrar datos con WHERE, ordenarlos con ORDER BY, y combinarlos de múltiples tablas. Cada una de estas cláusulas construye sobre los cimientos que has establecido hoy.

Recuerda: la práctica hace al maestro. No te conformes con leer estos ejemplos; ejecútalos tú mismo en un entorno real. En el próximo módulo exploraremos las condiciones de filtrado que hacen de SQL una herramienta tan poderosa para el análisis de datos.

💡 Próximo paso: En la siguiente lección aprenderás sobre la cláusula WHERE, que te permitirá filtrar registros basándose en condiciones específicas. ¡Te veo allí!