CORE Code School
SQL básico: select y where
Aprende los básicos de SQL
⚙️ Servidor SQL
sqldatabootcamp

SQL básico: select y where

20 minutos

SQL es un lenguaje que nos permite ejecutar instrucciones en una base de datos. Este se usa para guardar, obtener y manipular información. Es uno de los lenguajes mas populares de la industria por varios motivos:

  • Su sintáxis es sencilla y compacta.
  • Muchos proveedores de datos permiten usar el lenguaje SQL para acceder a su información.

Es un estándar en la industria. Conociendo el lenguaje, puedes acceder a multiples fuentes de información usando la mismas instrucciones SQL. Por ejemplo puedes acceder a las ventas de tu web con Stripe Sigma, o tener tus datos globalmente accesibles con Google Cloud Spanner. En definitiva, conocer SQL es un valor en alza para cualquier empresa, es práctico para muchisimos roles como consultores, analistas de negocio, financieros y sobretodo para desarrolladores frontend, backend e ingenieros de datos.

¡Vamos a conocer un poco el lenguaje!

⚙️ Servidor SQL

Un servidor SQL es un software que tiene la tarea de operar nuestras instrucciones en lenguaje SQL. En resumen, con SQL especificaremos qué queremos hacer: guardar datos o hacer consultas, pero es tarea del servidor usar esas instrucciones internamente para que esto sea posible. Guardar y ordenar información facilmente accesible no es sencillo, por ello que delegamos en el servidor de base de datos esta tarea. Entre los servidores de base de datos mas populares tenemos los siguientes:

  • MariaDB, PostrgreSQL. De código abierto, podemos instalar un servidor por nosotros mismos.
  • SQLite. En vez de usar un servidor, guarda los datos en un fichero. Por ejemplo, esta base de datos la usa Whatsapp para guardar tus chats en tu iPhone/Android
  • Amazon RDS. Una base de datos relacional en la nube, gestionada por Amazon Web Services, es decir, que con un click tienes un servidor listo para usar 🤘🏻.

🏖 SQL Playground

Para que no tengas que instalar por tu propia cuenta un servidor de SQL. Los ejemplos que encontrarás aquí los puedes ejecutar en DB Fiddle. En esta web puedes poner tus sentencias SQL para crear datos y probar a realizar consultas.

DB Fiddle

Ahora que ya tenemos todo listo, toca empezar con la sintáxis

🏄🏻‍♀️ Definición de datos: CREATE y INSERT

Nuestro servidor es un folio en blanco. Como cuando abres un documento nuevo en excel, nos toca definir como serán las columnas y tablas donde guardaremos nuestra información.

Vamos a crear una tabla para guardar los nombres de algunos participantes de una competición deportiva. La sentencia CREATE TABLE creará una tabla, definiendo las columnas y el tipo de datos de estas.

sql
CREATE TABLE participantes (
    nombre varchar(32),
    apellido varchar(32),
    nacido_en INT,
    rol varchar(32)
);
Copiar

Al definir el esquema de la tabla especificamos que la columna nombre será del tipo varchar(32). Podremos guardar texto de hasta 32 carácteres en esta columna.

¡Ya tenemos nuestra primera tabla! Ahora vamos a escribir un registro (o una fila, como quieras) en ella. Usamos la sentencia INSERT, especificamos la tabla, y los valores de las columnas.

sql
INSERT INTO participantes VALUES ("Pepe", "Pérez", 1989, "entrenador");
Copiar

Es importante que te fijes en los detalles de la sintáxis como:

  • Los parentesis al definir los valores de las columnas
  • El ; que indica el final de una sentencia

¡Ya tenmos una tabla con datos! Podemos empezar a realizar consultas. Nuestras consultas serán mas interesantes cuantos más datos tengamos, así que vamos a crear unos cuantos más.

sql
INSERT INTO participantes VALUES ("Luis", "Pérez", 1987, "jugador");
INSERT INTO participantes VALUES ("Luis", "Enrique", 1970, "entrenador");
INSERT INTO participantes VALUES ("Neymar", "da Silva", 1992, "jugador");
INSERT INTO participantes VALUES ("Kylian", "Mbappé", 1998, "jugador");
INSERT INTO participantes VALUES ("Cristiano", "Ronaldo", 1985, "jugador");
INSERT INTO participantes VALUES ("Robert", "Lewandowski", 1988, "jugador");
INSERT INTO participantes VALUES ("Lionel", "Messi", 1987, "jugador");
Copiar

🍟 Consultar datos: SELECT

Para consultar los datos en nuestra tabla usamos SELECT. Podemos realizar consultas complejas, pero empecemos con algo sencillo:

sql
SELECT * FROM participantes;
Copiar

La tabla con los resultados de la consulta SELECT contendrá todos los datos insertados en la tabla participantes.

Terminal
| nombre | apellido | nacido_en | rol | | --------- | ----------- | --------- | ---------- | | Luis | Pérez | 1987 | jugador | | Luis | Enrique | 1970 | entrenador | | Neymar | da Silva | 1992 | jugador | | Kylian | Mbappé | 1998 | jugador | | Cristiano | Ronaldo | 1985 | jugador | | Robert | Lewandowski | 1988 | jugador | | Lionel | Messi | 1987 | jugador |
Copiar

El asterisco * especifica que queremos que devuelva todas las columnas de la tabla a consultar en el resultado.

En su lugar, podríamos realizar una consulta seleccionando solo algunas columnas.

sql
SELECT nombre, rol FROM participantes;
Copiar

☝🏻 Tip: Es recomendable seleccionar sólo las columnas que necesitemos. Al seleccionar solo las columnas necesarias, ayudamos a que el servidor tenga que sólo los datos que vamos a necesitar. Esto es relevante en casos en los que tienes tablas muchas columnas.

Este es el resultado:

Terminal
| nombre | rol | | --------- | ---------- | | Luis | jugador | | Luis | entrenador | | Neymar | jugador | | Kylian | jugador | | Cristiano | jugador | | Robert | jugador | | Lionel | jugador |
Copiar

🦺 Filtrado de datos: WHERE

Cuando tenemos una tabla con muchos registros lo habitual es querer extraer sólo las filas que son de nuestro interés. Para ello podemos especificar una expresión que filtra y devuelve sólo los resultados que cumplan una condición usando WHERE;

Si queremos sólo los entrenadores:

sql
SELECT nombre, apellido FROM participantes WHERE rol="entrenador";
Copiar
Terminal
| nombre | apellido | | ------ | -------- | | Luis | Enrique |
Copiar

El resultado, contendrá las filas cuyo valor de la columna rol sea entrenador.

¡Enhorabuena! Has empezado tu aventura SQL. En próximos post veremós muchas más sentencias SQL que permiten realizar operaciones mas avanzadas como DELETE y UPDATE.

¡Nos vemos pronto!

Referencias

En esta página
⚙️ Servidor SQL🏖 SQL Playground🏄🏻‍♀️ Definición de datos: CREATE y INSERT🍟 Consultar datos: SELECT🦺 Filtrado de datos: WHEREReferencias
Actualizado 05 dic 2022
¿Quieres más?
sqldatabootcamp

Fórmate como desarrollador@