Bases de Datos

Primeros pasos en la escritura de consultas con SQL

¿Quieres comenzar a aprender SQL? En este artículo encontrarás una guía práctica para ser capaz de escribir tus propias consultas y empezar a trabajar en poco tiempo de una forma correcta.

Publicado el 15 de Febrero de 2023
Compartir

¿Quieres dar tus primeros pasos con SQL? En este artículo, profundizaremos en la escritura de consultas para obtener información de una base de datos.

Si eres administrador, aprenderás a escribir las consultas relacionadas con la creación y mantenimiento de tablas. Y si eres programador o analista de datos, obtendrás los conceptos más relevantes de SQL para realizar consultas básicas y complejas.

¡Sigue leyendo! Aquí encontrarás una guía práctica para escribir tus propias consultas y empezar a trabajar con datos en cuestión de minutos.

Introducción

Una base de datos está normalmente compuesta por varias tablas relacionadas entre sí según sea su cardinalidad. Estas tablas, a su vez, poseen campos que representan un determinado tipo de información, con un tipo de dato asociado.

En este contexto, que a continuación veremos detallado en profundidad con diferentes ejemplos, es que resulta necesario aplicar un lenguaje que permita realizar consultas a los datos contenidos en las tablas.

Este lenguaje es SQL (Structured Query Language) y es la herramienta que nos permite definir, tal como su nombre lo indica, un lenguaje estructurado de consulta para obtener información a partir de los datos que las tablas posean.

Será necesario entonces abordar ciertos conceptos tangenciales a la escritura de consultas SQL como la definición de una tabla, sus campos, condiciones, operaciones y funciones de agregación, entre otros, para profundizar el marco en el que se escriben estas consultas.

Qué es una tabla

Una tabla es una estructura de datos que almacena información correspondiente a cada uno de sus campos en forma de registro. Si pensáramos en la tabla “Personas” y como crear sus campos, con sus correspondientes tipos de datos, podemos considerar el siguiente caso:

  • Nombre: Campo de tipo texto.
  • Apellido: Campo de tipo texto.
  • Edad: Campo de tipo número.

La sintaxis básica de SQL sigue el siguiente formato:

SELECT <campo>
FROM <tabla>

Supongamos que la tabla “Personas” contiene los siguientes registros:

Juan, López, 25
Ana, Pérez, 30
Carlos, González, 15
Alberto, Ruiz, 35

La tabla “Personas” puede ser consultada aplicando SQL respetando ciertas palabras claves (cláusula) que conforman la escritura propiamente dicha de la consulta, o query, como suele referenciarse en inglés. Aplicando la sintaxis descripta previamente, en caso que querer consultar el nombre de todas las personas que están almacenadas en la tabla “Personas” será necesario escribir la siguiente consulta SQL:

SELECT nombre
FROM personas

El resultado será el siguiente:

Juan
Ana
Carlos
Alberto

Domina la administración de bases de datos con MySQL
Mejora tus habilidades para diseñar y crear bases de datos eficientes, optimizando consultas y asegurando la integridad de los datos.
Comenzar gratis ahora

Agregar un campo a una consulta

El ejemplo previo es suficiente para poder visualizar los nombres de las personas que se encuentran almacenadas en la tabla “Personas”. Sin embargo, suele ser necesario visualizar más de un campo en cada consulta. ¿Cómo escribir entonces una consulta que permita obtener más de un campo en su resultado? Simplemente, agregando un campo separado por coma a la consulta anterior, de forma general:

SELECT <campo_1>, <campo_2>, ... , <campo_n>
FROM <tabla>

En el caso práctico de la consulta anterior, considerar la siguiente consulta:

SELECT nombre, edad
FROM personas

El resultado será el siguiente:

Juan, 25
Ana, 30
Carlos, 15
Alberto, 35

Agregar todos los campos a una consulta

En caso de que sea necesario mostrar todos los campos, puede realizarse de dos formas distintas, ya sea de forma explícita especificando campo por campo o bien de forma implícita utilizando el carácter “*”. Las siguientes consultas producirán el mismo resultado:

SELECT nombre, apellido, edad
FROM personas
SELECT *
FROM personas

El resultado será el siguiente:

Juan, López, 25
Ana, Pérez, 30
Carlos, González, 15
Alberto, Ruiz, 35

Cómo aplicar una condición

De manera similar a lo que puede implementarse como un filtro para un conjunto de datos, una condición escrita en una consulta SQL, mostrará aquellos datos que coincidan con la misma. Se expresa con operadores matemáticos y puede aplicarse tanto a campos de tipo texto como numéricos. Considerando el conjunto de datos previo:

Juan, López, 25
Ana, Pérez, 30
Carlos, González, 15
Alberto, Ruiz, 35

En caso de que se quisiera obtener todos los datos (campos) de las personas mayores a 20 años, la siguiente consulta resuelve la problemática:

SELECT *
FROM personas
WHERE edad > 20

El resultado será el siguiente:

Juan, López, 25
Ana, Pérez, 30
Alberto, Ruiz, 35

Funciones de agregación

Las funciones de agregación son aquellas provistas por el motor de base de datos que permitirán realizar ciertos cálculos predefinidos. Por ejemplo, en caso de que se desee sumar o contar los valores de un campo dentro de varios registros, será necesario utilizar una función que resuelva la operatoria.

Count()

Reconsiderando el ejemplo anterior, podría ser necesario contar cuantas personas son mayores de edad, para lo cual la siguiente consulta resuelve la problemática:

SELECT COUNT(*)
FROM personas
WHERE edad > 18

A diferencia de los resultados anteriores, en vez de visualizar los registros que concuerdan con la búsqueda, se obtendrá la cantidad de registros que coincida con la condición:

3

Sum()

Para el caso de la suma, resulta útil considerar la tabla “Gastos” que puede estar representada de la siguiente manera:

  • Gasto: Campo de tipo texto.
  • Moneda: Campo de tipo texto.
  • Monto: Campo de tipo número.

Supongamos que la tabla “Gastos” contiene los siguientes registros:

Luz, €, 75
Electricidad, €, 150
Subscripción, $, 20
Seguro, €, 90

Para sumar todos los gatos, la siguiente consulta resuelve la problemática:

SELECT SUM(*)
FROM gastos

El resultado será el siguiente:

335

En caso de querer filtrar los gastos para realizar la suma según el tipo de moneda será suficiente agregar una condición:

SELECT SUM(*)
FROM gastos
WHERE moneda = "€"

El resultado será el siguiente:

315

Max()

La función Max determina cuál es el mayor valor respecto a un campo. La siguiente consulta:

SELECT MAX(monto)
FROM gastos

Determinará el mayor monto:

150

Min()

La función Min determina cuál es el menor valor respecto a un campo. La siguiente consulta:

SELECT MIN(monto)
FROM gastos

Determinará el menor monto:

20

Otras instrucciones

Group By

La instrucción Group By permite agrupar filas según un mismo criterio. Supongamos que a la tabla “Gastos” descripta previamente se le agrega un campo más:

  • Pais: Campo de tipo texto.
Luz, €, 75, España
Electricidad, €, 150, España
Subscripción, $, 20, Estados Unidos
Seguro, €, 90, España

Podría ser necesario entonces agrupar (y contar) los gastos según el país en el que se hayan realizado. Esta consulta puede resolver la problemática anterior:

SELECT pais,COUNT(*)
FROM gastos
GROUP BY pais

El resultado será el siguiente:

España, 3
Estados Unidos, 1

Order By

Los resultados de una consulta pueden ser ordenados según un campo, de forma ascendente o descendente, según sea necesario. En caso de desear visualizar los gastos ordenados de mayor a menor (descendente) esta consulta resulta de utilidad:

SELECT *
FROM gastos
ORDER BY monto DESC

El resultado será el siguiente:

Electricidad, €, 150, España
Seguro, €, 90, España
Luz, €, 75, España
Subscripción, $, 20, Estados Unidos

Para obtener el resultado opuesto, es suficiente con cambiar el orden en el que se realiza la consulta:

SELECT *
FROM gastos
ORDER BY monto ASC

El resultado será el siguiente:

Subscripción, $, 20, Estados Unidos
Luz, €, 75, España
Seguro, €, 90, España
Electricidad, €, 150, España

Like

En SQL se considera a “Like” como un operador lógico que permite determinar si el texto contenido en un campo concuerda con determinado patrón de búsqueda. Considerando el conjunto de datos previo:

Juan, López, 25
Ana, Pérez, 30
Carlos, González, 15
Alberto, Ruiz, 35

Una base de datos está normalmente compuesta por varias tablas relacionadas entre sí según sea su cardinalidad. Estas tablas, a su vez, poseen campos que representan un determinado tipo de información, con un tipo de dato asociado.

En este contexto, que a continuación veremos detallado en profunidad con diferentes ejemplos, es que resulta necesario aplicar un lenguaje que permita realizar consultas a los datos contenidos en las tablas.

Este lenguaje es SQL (Structured Query Language) y es la herramienta que nos permite definir, tal como su nombre lo indica, un lenguaje estructurado de consulta para obtener información a partir de los datos que las tablas posean.

Será necesario entonces abordar ciertos conceptos tangenciales a la escritura de consultas SQL como la definición de una tabla, sus campos, condiciones, operaciones y funciones de agregación, entre otros, para profundizar el marco en el que se escriben estas consultas.

Analogía con las hojas de cálculo

Si bien una hoja de cálculo no es una base de datos propiamente dicha, existe una analogía que ayuda a ilustrar el concepto. Resulta de utilidad considerar que la hoja de cálculo en sí puede verse como una tabla, por ejemplo “Personas”, de la base de datos.

A su vez, esta tabla contiene columnas, por ejemplo “Nombre”, “Apellido” y “Edad”, que pueden verse como los campos de una tabla. Por último, las filas que contiene esta hoja de cálculo serían los equivales a los registros almacenados en la tabla.

Replicar los ejemplos vistos en este artículo en el marco de una hoja de cálculo puede ser una buena práctica para afianzar los conceptos de tabla, campos y registros sin la necesidad de instalar una base de datos específica.

Mejora la gestión de las bases de datos de tu empresa con MySQL
Enseñamos a tu equipo las técnicas para diseñar, crear y optimizar bases de datos, asegurando la integridad de los sistemas.
Solicitar más información

Probando SQL

Existen múltiples sitios en línea que permiten realizar prácticas de escritura y ejecución de código SQL sin la necesidad de tener que instalar una base de datos localmente. Estos sitios pueden encontrarse bajo los términos de “sql fiddle” o “sql playground” referenciando a un entorno de pruebas en donde puede experimentarse las bondades del lenguaje. Algunos ejemplos de estos sitios pueden ser SQLime, Programiz Online SQL Editor o DB Fiddle.

Especificaciones del lenguaje según la base de datos

Existen múltiples opciones, algunas propietarias y otras open source, para construir una base de datos con sus tablas y campos. Estas opciones soportan SQL como lenguaje de consulta con ciertas diferencias menores en la sintaxis según la base de datos que se esté utilizando. Se recomienda verificar las particularidades del lenguaje de consulta en relación a la base de datos para evitar conflictos en la escritura de consultas.

Conclusiones

Este artículo contiene las bases para la comprensión de las instrucciones básicas del lenguaje SQL, y su complejidad puede variar según el contexto en el que esté aplicado.

Es probable que un administrador de bases de datos tenga que escribir consultas más orientadas a la creación y mantenimiento de tablas y campos que un programador o analista de datos, los cuales normalmente utilizan SQL para realizar consultas a la base de datos.

Sea cual fuere el rol o contexto en el que se desea aplicar, es recomendable realizar un curso que profundice al respecto como el Curso de SQL desde cero, el Curso de creación y administración de Bases de Datos SQL o ver todos los Cursos de Bases de datos en OpenWebinars.


Compartir este post

También te puede interesar...

Java y MySQL JDBC: Operaciones básicas

Curso de Java y MySQL JDBC: Operaciones básicas

2 horas y 14 minutos · Curso

En esta formación vamos a describir las operaciones básicas para el acceso a una Base de Datos MySQL desde Java mediante su API JDBC.

  • Lenguajes de programación
PHP y MySQL: Creando sitios dinámicos

Curso de PHP y MySQL: Creando sitios dinámicos

2 horas y 55 minutos · Curso

PHP es el lenguaje de programación del lado del servidor más conocido y sencillo de utilizar. Aprende a conectar PHP y MySql, a realizar consultas …

  • Desarrollo Web
Tecnología

SQL vs NoSQL, comparativa para elegir correctamente

24 Diciembre 2021 Rodolfo Sáenz Escobar
Artículos
Ver todos