Consultas de datos en SQL para principiantes

En este artículo te enseñamos, con una explicación dirigida a principiantes, y con ejemplos sencillos, a utilizar consultas de tipo SELECT para leer registros en tablas.

consultas sql sql where sql select

Si ya sabes crear tablas con SQL e insertar filas en SQL, el siguiente paso, en el camino de dominar SQL, es aprender a consultar las filas almacenadas.

Las consultas SQL para extracción de datos son, con diferencia, las más variadas y las que permiten mayor complejidad de las sentencias SQL existentes para trabajar con tablas (SELECT, INSERT, UPDATE o DELETE).

En este tutorial voy a explicarte con un punto de vista dirigido a principiantes cómo utilizar la consulta SQL SELECT.

Los diferentes apartados de este tutorial son:

  1. ¿Cuál es la sentencia SQL para consultar registros en bases de datos?
  2. Para qué sirve la consulta SELECT SQL.
  3. Estructura y ejemplos de uso básico de una consulta SELECT:
    1. Columnas
    2. Tablas
    3. Condiciones
  4. Ejemplos de SELECT con WHERE en SQL.

Sentencia SQL para consultar registros en bases de datos

Así como para insertar datos en tablas usamos la sentencia INSERT o para crear una tabla utilizaremos un CREATE SQL, para recuperar las filas almacenadas en una o más tablas siempre haremos uso de una sentencia SELECT.

La sentencia SELECT solo tiene el fin de obtener las filas almacenadas en bases de datos y será, por regla general, la consulta por excelencia cuando trabajamos con bases de datos relacionales.

¿Para qué sirve la consulta SELECT en SQL?

Ejecutando consultas SELECT de mayor o menor complejidad podrás realizar cualquier tipo de extracción de datos que imagines. Existen parámetros de configuración que nos permiten indicar multitud de condiciones para obtener solo los registros que necesitados para cada caso.

Cómo la base de cualquier aplicación web dinámica es la información almacenada en una base de datos, todo contenido que a día de hoy disfrutas a través de una web está extraído cuidadosamente con un SELECT concreto. Así pues puedes imaginarte lo potente y completa que es esta consulta.

Un ejemplo real de uso de las sentencias SELECT, sería mostrar las noticias de un blog cualquiera, ya sea un blog de tipo WordPress, Joomla o cualquier otro tipo de desarrollo.

Sintaxis SELECT SQL y ejemplos

La estructura de una consulta SELECT, al igual que el resto de programación SQL, sigue una lógica clara y fácil de entender. Así, los elementos que intervienen de forma general en una consulta SELECT son:

  • Los campos (columnas) que nos interesan recuperar de cada registro consultado.
  • La tabla de la que queremos leer los registros.
  • Condiciones de filtrado, de forma que solo obtengamos de la consulta las filas de la tabla que cumplan ciertos requisitos.

Estos 3 elementos vistos son los que necesitas pensar antes de ponerte a crear cualquier consulta SELECT de SQL.

Cada dato a configurar de la consulta se coloca en una parte de esta siguiendo la siguiente estructura:

SELECT columnas
FROM tabla
[WHERE condiciones]

Explicación de las partes:

  1. Las columnas se escriben tal cual su nombre en la base de datos.
  2. La tabla debe corresponderse con las columnas.
  3. Las condiciones son opcionales (por eso las he escrito entre corchetes).

Para que te familiarices con cómo van a ser las consultas SELECT te dejo un ejemplo sencillo:

SELECT nombre, apellidos
FROM jugador
WHERE edad = 21;

Las columnas de un SELECT SQL

Cuando realizas una consulta de tipo SELECT siempre debes especificar las columnas a obtener, es decir, las columnas leídas para cada registro obtenido. Entre las opciones de las que dispones existen: indicar que quieres leer todas las columnas, una o varias.

Opciones para indicar columnas:

  1. Si deseas recuperar todas las columnas disponibles puedes indicar el carácter comodín “*”.
  2. Si quieres recuperar más de una columna indicarás los nombres separados por comas.
  3. Puedes modificar el nombre de una columna con un “alias”

Ejemplo 1 SELECT de todas las columnas:

SELECT *
FROM jugador;

Segundo ejemplo  SELECT SQL de 3 columnas

SELECT nombre, apellidos, partidas_jugadas
FROM jugador;

Cláusula FROM de la consulta SELECT

La cláusula FROM de una consulta SQL determina el origen de las columnas seleccionadas. Debemos tener en cuenta, por lo tanto, de que tablas deseamos leer la información de la consulta.

Así, si por ejemplo quisiéramos leer todas las columnas de una tabla llamada jugadores escribiríamos el SELECT así:

SELECT *
FROM jugadores;

Aunque este tutorial es de uso básico, debes saber también que en la cláusula FROM se pueden indicar más de una tabla cómo origen:

SELECT *
FROM jugadores, equipos;

Las condiciones de un SELECT

Para lograr filtrar los resultados a leer utilizaremos ciertas condiciones, de forma que las filas obtenidas las tienen que cumplir. Esto se logra con la cláusula WHERE.

Esta cláusula permite en SQL definir todas las condiciones que queramos hasta lograr la complejidad deseada.

Vamos a ver varios ejemplos.

Ejemplo de SELECT para los jugadores mayores de edad:

SELECT *
FROM jugadores
WHERE edad > 17;

SELECT SQL para los jugadores que se llaman “Juan”:

SELECT nombre, apellidos, edad
FROM jugadores
WHERE nombre = ‘Juan’;

SELECT SQL para obtener los registros que tengan el apellido ‘Rodríguez’ y sean mayores de edad:

 

SELECT nombre, apellidos
FROM jugadores
WHERE apellido = ‘Rodríguez’ AND edad >= 18;

NOTA: En este ejemplo he utilizado el operador AND para especificar que deben cumplirse las dos condiciones a la vez.

Consulta para obtener las filas de jugadores que tienen el apellido ‘Rodríguez’ o ‘Gómez’:

SELECT nombre, apellidos
FROM jugadores
WHERE apellido = ‘Rodríguez’ OR apellido = ‘Gómez’;

Conceptos avanzados de consultas SQL

Para terminar, voy a hacerte una introducción a ciertos conceptos algo más avanzados de las consultas, aunque sin entrar en cosas realmente complejas de SQL.

En concreto vamos a ver ciertas opciones a la hora de configurar las columnas de un SELECT:

  1. El alias de las columnas.
  2. Funciones SQL sencillas para seleccionar otros tipos de datos.

Alias de las columnas de un SELECT

Cuando trabajamos continuamente con SQL, en ciertas ocasiones necesitamos manipular los resultados obtenidos de nuestras consultas. En el caso de los SELECT, es muy común tener que cambiar el nombre de la columna para que sea legible para mostrárselo a un usuario sin conocimientos técnicos. Esto se realiza utilizando un alias para el nombre de la columna:

SELECT edad AS ‘EDAD RECOMENDADA’
FROM pelicula;

Por ejemplo, se podría dar el caso de que nos solicitaran obtener un listado de todos los clientes de una empresa (almacenados, por supuesto, en su base de datos relacional). Y las columnas de esta tabla podrían ser nombres abreviados o diferentes a los que espera, por ejemplo, un comercial de una tienda.

Imagínate entonces que hemos creado una tabla con la siguiente consulta CREATE:

CREATE TABLE cliente(
	id INT PRIMARY KEY,
	nom VARCHAR(50),
	ape VARCHAR(100),
	dir VARCHAR(200)
);

Ahora nos encontramos en el caso anterior, y queremos sacar un informe o CSV con los datos de ciertos clientes, en concreto los registros de los clientes que son de Madrid, y queremos que se muestren los resultados de forma legible en los títulos:

SELECT nom AS Nombre, ape AS Apellidos, dir AS ‘Dirección’
FROM cliente
WHERE direccion = ‘Madrid’;

Funciones SQL

Las funciones SQL son procedimientos ejecutables como los de cualquier lenguaje de programación, como por ejemplo PHP, JavaScript o Java.

Existe un listado enorme de funciones de SQL, pero en esta pequeña introducción, para que vayas haciéndote una idea, solo vamos a tratar 2: COUNT y CONCAT.

Función COUNT de SELECT SQL

Con la función COUNT(columna) podemos obtener en una columna la cuenta de los valores diferentes para la columna especificada.

Un ejemplo:

SELECT COUNT(id)
FROM clientes;

Si en la tabla hubiera almacenados 200 clientes, el resultado de esta consulta sería una sola fila con el valor 200.

Función CONCAT SQL

Esta otra función nativa en SQL nos permite juntar el valor de las columnas que queramos, de forma que el resultado final sea su conjunto.

Un ejemplo vale más que mil palabras:

SELECT CONCAT( nom, ape) as ‘Nombre Completo’
FROM cliente;

Final de lo básico

Si has llegado hasta aquí ya sabes consultar información almacenada en base de datos. Con los conocimientos de este tutorial podrás crear consultas SELECT sencillas.

Ahora te toca practicar y practicar. Con un poco de experiencia podrás pasar a los conceptos de consultas avanzados que veremos en los próximos artículos de SQL:

  • Operadores más complejos para las condiciones de un WHERE.
  • Ordenar los resultados de una consulta.
  • Agrupar las filas obtenidas.
  • Relacionar tablas entre sí para obtener información de forma más compleja.
  • Anidar consultas.

¡Espero que te haya sido útil este tutorial! Si es así te agradecería que lo compartieras, nos ayudará y animará a crear nuevo contenido de calidad como este artículo.

Sobre el autor

Javier Gómez Redactor en Srcodigofuente.es

Javier Gómez

Ingeniero técnico en informática de gestión. Desarrollador web freelance y profesor de desarrollo web a partes iguales. Testarudo autodidacta, creativo, perfeccionista y alma libre.

Cargando comentarios

Utilizamos "cookies" para información estadística. Si continúas navegando aceptas su uso.