Volver a la lista de artículos Artículos
Lectura de 12 minutos

Términos de SQL que los principiantes deben conocer - Parte 2

Esta es la segunda parte de mi lista de términos esenciales de SQL para principiantes. En la primera, aprendiste lo que es una tabla, una base de datos relacional y una consulta. Ahora, es el momento de los términos más avanzados de las bases de datos. Pero no tengas miedo. No te machacaré con definiciones científicas. Lo explicaré todo de forma sencilla para que puedas entenderlo fácilmente.

Si quieres repasar los términos básicos de SQL, consulta mi artículo anterior, Términos de SQL que los principiantes deben conocer. Recuerda marcar este artículo como favorito. Será una fuente de información útil.

Sin más preámbulos, aquí hay más términos de SQL que debes conocer.

Términos SQL

Alias

Un alias es un nombre que podemos definir para una columna o tabla específica en una consulta SQL. Normalmente, utilizamos los alias para hacernos la vida más fácil: para mostrar un nombre de columna más legible o para acortar un nombre de tabla largo.

Nuestra mesa podría tener un nombre conveniente como order. Pero ¿qué pasa si nuestra tabla se llama orders_january_2020_shipped? ¿Y si es aún más larga y complicada?

Sería inconveniente escribir el nombre completo de la tabla cada vez que nos referimos a ella. Por ejemplo, para referirse a la columna confirmed_payment en la tabla mencionada anteriormente, tendríamos que escribir orders_january_2020_shipped.confirmed_payment.

Sin embargo, se puede utilizar la cláusula AS para definir un alias, en este caso, jpara orders_january_2020_shipped. Ahora, será más fácil indicar los pedidos ya pagados: j.confirmed_payment.

También puede utilizar un alias si está escribiendo una consulta SQL larga y compleja. Por ejemplo, puede incluir esto en su consulta: j.confirmed_payment AS jcp. Ahora, para el resto de la consulta, puede utilizar simplemente jcp en lugar de j.confirmed_payment.

Sin embargo, ten cuidado de no perderte con estos nombres.

Vale, puede que te haya confundido un poco. Déjame darte un ejemplo para mostrarte lo que quiero decir.

SELECT column as c
FROM table as t
WHERE t.c = "something";

Recuerda que un alias sólo existe mientras dura la consulta. Si más tarde escribes otra consulta por separado, puedes nombrar las columnas o tablas de forma diferente.

Los alias en SQL son muy útiles, y vale la pena saber cómo utilizarlos. Probablemente los apreciará más cuando trabaje con Tipos de JOIN en SQL.

Nulo

NULL indica que el valor de los datos en una celda específica de la tabla falta o es desconocido. Es importante entender qué es NULL y cuándo se utiliza. Sin una buena comprensión de NULL, le resultará difícil trabajar con bases de datos.

Primero, algo que debes recordar absolutamente: NULL no es 0, ¡y no significa vacío! NULL ocurre cuando el valor en una celda de la tabla es desconocido o indeterminado.

NULL Los valores pueden aplicarse a cualquier tipo de datos: enteros, fechas, valores VARCHAR, o cualquier otro tipo de datos. Pero hay que tener cuidado al utilizar NULL. Al utilizar cualquier operación de comparación, incluyendo los operadores NULL, el resultado siempre será NULL.

Al aprender sobre NULL, surge el tema de la lógica de tres valores. ¿Quieres saber qué es esto? Lee el artículo Entendiendo el Uso de NULL en la Lógica de Tres Valores de SQL para aprender más.

Join

JOIN es un operador SQL que permite combinar datos de dos o más tablas. Normalmente concatena filas con valores iguales para columnas específicas. Si ya sabes lo que son las claves primarias y las claves foráneas, la función JOIN es algo que las conecta.

Los distintos tipos de JOIN devuelven resultados diferentes. Aquí hay varios tipos de JOIN:

  • Inner JO IN devuelve todas las filas que coinciden con la condición indicada de ambas tablas.
  • Left JO IN devuelve todas las filas de la tabla izquierda con valores coincidentes de la tabla derecha. Si una de las filas no tiene valores coincidentes en la tabla derecha, aparecerá NULL.
  • ElJOIN derecho devuelve el mismo resultado que el anterior sólo que al revés. El resultado será todas las filas de la tabla derecha con valores coincidentes de la tabla izquierda, junto con NULL cuando no haya ninguna coincidencia.
  • ElFull JO IN devuelve todas las filas de ambas tablas.
  • ElCross JO IN devuelve todas las combinaciones de filas de ambas tablas. Aquí hay una guía ilustrada del SQL Cross JOIN.

Aquí hay otros casos de uso para JOIN:

Para aprender más y practicar la unión de tablas, consulte nuestro curso interactivo Tipos de JOIN en SQL interactivo. También tenemos una gran hoja de trucos de SQL JOIN. Márquela en su navegador. Volverá a ella muchas veces.

Clave Primaria

No todas las columnas tienen la misma función. Algunas columnas son identificadores primarios de la tabla en cuestión: tienen valores diferentes en cada fila. Esta columna se llama clave primaria.

Una clave primaria se utiliza para identificar filas, y la unicidad de un registro determinado garantiza que no aparecerán duplicados en la tabla. Si intentas insertar una nueva fila con un valor duplicado en la columna de clave primaria, esa fila será rechazada por la base de datos.

Por ejemplo, imagine la tabla orders tabla. Lo más probable es que tenga columnas como product, customer, purchase_date, etc. Sin embargo, para que todo sea más claro y fácil, es útil tener una columna order_id. Cada línea tendrá su propio y único ID. Esta será su clave primaria.

Esto es muy importante. Ninguna celda de la columna de clave primaria puede estar vacía. Esta columna tampoco puede contener valores de NULL. Para refrescar el conocimiento de NULL, eche un vistazo a su sección anterior.

Para la tabla orders tabla, una fila con un valor NULL en la columna order_id será rechazada por la base de datos. En otras palabras, las claves primarias garantizan que todas las filas de la tabla tengan valores únicos y no nulos en la columna de la clave primaria. En pocas palabras, si fuera de otro modo, lo más probable es que no todos los pedidos acabaran en sus clientes.

¿Quieres saber más sobre las claves primarias? Lee ¿Qué es una clave primaria en SQL? Este gran artículo tiene casi todo lo que necesitas saber sobre el tema.

Clave Extranjera

Es uno de esos conceptos que parece difícil y abstracto, pero en realidad es sencillo. Las claves foráneas son un concepto central en las bases de datos SQL. Nos ayudan a mantener la integridad de los datos y suelen funcionar con claves primarias para JOIN dos tablas.

Imagine dos tablas product y customers. Ambas tendrán probablemente la columna product_id, que podemos utilizar para relacionar el producto con una persona concreta que lo haya pedido. En la segunda tabla, nos referiremos a esta columna como la clave foránea. La clave foránea comprueba si la tabla padre (la que tiene la clave primaria) tiene ese valor.

¿Quieres saber más sobre las claves foráneas? Te recomiendo ¿Qué es una clave foránea en SQL? de mi colega Ignacio.

Si quieres dominar las claves foráneas mediante la creación de tablas y su estructura, te recomiendo los cursos interactivos de SQL en Creación de la estructura de la base de datos. Estos cinco cursos tienen más de 330 ejercicios en total. Si estás considerando la carrera de Ingeniero de Datos, esto es perfecto para ti.

Restricción SQL

Ya sabes que las tablas en las bases de datos relacionales deben tener una estructura específica. Sin embargo, hay ocasiones en las que es necesario añadir restricciones adicionales a ciertas columnas.

Por ejemplo, en la tabla customer las columnas first_name, last_name y client_id no pueden estar vacías. Además, la columna email_adress debe tener valores únicos. Aquí es cuando las restricciones SQL son útiles.

  • Not Null asegura que ninguno de los valores de la columna esté vacío (es decir, no puede contener un valor de NULL ).
  • Unique garantiza que la columna no contenga valores duplicados (es decir, todos los valores de la columna deben ser únicos).
  • La claveprimaria garantiza que cada valor de la columna identifique de forma exclusiva cada fila de la tabla.
  • La claveforánea garantiza que una columna está vinculada a la clave primaria de una columna de otra tabla.
  • Comprobación comprueba la condición que sigue.
  • Default asegura que hay un valor por defecto en la columna. Este valor se utiliza cuando el usuario no introduce un valor en la columna.

Gracias a las restricciones SQL, sus tablas contendrán datos correctos que serán más fáciles de analizar posteriormente. Para obtener más información y ejemplos de cómo utilizar las restricciones SQL, consulte ¿Qué es una restricción SQL?

Subconsulta

Básicamente, una subconsulta es una consulta SQL dentro de otra consulta SQL. En lugar de dividir su proyecto en muchos elementos pequeños, puede escribir una consulta SQL lógica para realizar el trabajo.

El poder de las subconsultas está infravalorado. Muchos usuarios tienen miedo de utilizar las subconsultas a pesar de que son simples y útiles.

Hay varios tipos de subconsultas SQL:

  • Subconsultasescalares: devuelven un solo valor, o exactamente una fila y exactamente una columna. Se encuentran con mayor frecuencia en las cláusulas de WHERE, donde ayudan a filtrar los resultados de la consulta principal.
  • Las subconsultasde varias filas devuelven una columna y varias filas. Suelen utilizarse con operadores como IN, NOT IN, ANY, ALL, EXISTS o NOT EXISTS.
  • Las subconsultascorrelacionadas son interesantes. La consulta interna se basa en la información obtenida de la consulta externa.

Hay muchas combinaciones y posibilidades de subconsultas. ¿Quieres saber más? Consulta la Guía para principiantes de la subconsulta SQL de mi colega Ignacio. Si quieres profundizar en los tipos de subconsultas, lee ¿Cuáles son los diferentes tipos de subconsultas SQL?

No puedo explicar bien las subconsultas SQL en tan pocas palabras. Por favor, tómate el tiempo para aprenderlas bien. Puedes hacerlo con nuestro SQL para principiantes curso. También puedes ver clips en nuestro canal de YouTube We Learn SQL en el que mi amigo Adrian te contará todo sobre las subconsultas SQL. ¡Recuerda suscribirte y darle un pulgar arriba!

Herramientas de la base de datos

Supongo que a veces te encontrarás con términos relacionados con soluciones y herramientas para trabajar con bases de datos. He elegido tres importantes para repasar.

MS SQL Server

MS SQL Server

En el artículo anterior te hablé del SGBD. Si no recuerdas lo que es, puedes volver atrás y averiguarlo. En resumen, es un programa para trabajar con bases de datos.

Uno de los SGBD más populares del mundo es MS SQL Server. Su principal desventaja es que la versión completa es de pago.

SQL Server 2019, con nombre en clave Aris, es la 15ª y última edición de esta herramienta. La primera edición se creó en 1989. Es el buque insignia, pero no la única herramienta de bases de datos del gigante informático de Redmond.

MS SQL Server se basa en Transact-SQL (T-SQL), que es una extensión del estándar ANSI/ISO. T-SQL es un SQL estándar en el que algunas cosas se definen de forma ligeramente diferente.

Desde el punto de vista del usuario ocasional, no hay grandes diferencias. Si puedes usar SQL Standard, podrás usar T-SQL igual de bien. Puede consultar las diferencias en la documentación.

Si quieres aprender a escribir consultas SQL en MS SQL Server de inmediato, te recomiendo este curso interactivo SQL para principiantes en MS SQL Server. Aprenderás los fundamentos necesarios y dominarás la sintaxis lo suficiente como para escribir tus propias consultas a través de 131 ejercicios.

¿No está convencido de utilizar un SGBD y sigue teniendo problemas con el procesamiento de datos en Excel? Este programa no es un problema. Es un potente multitarea. Pero tiene sus limitaciones. Entonces, ¿por qué no utilizar MS SQL Server? Mi colega Roman le ayudará a responder a esta pregunta en su artículo Microsoft SQL Server Pros and Cons.

PostgreSQL

PostgreSQL

PostgreSQL, también llamado Postgres, es otra gran herramienta de DBMS. En mis artículos, he admitido repetidamente que es mi favorito. ¿Por qué? Primero, es de código abierto, lo que significa que es gratis.

En segundo lugar, tiene una enorme comunidad detrás. Desarrolladores apasionados de todo el mundo añaden nuevas extensiones y parches cada día. Se trata de una de las comunidades informáticas más activas de la red. Puedes estar seguro de que si tienes problemas, alguien te ayudará.

Pero no tiene que creer en mi palabra. Vea quién está usando PostgreSQL leyendo ¿Qué compañías importantes usan PostgreSQL? ¿Para qué lo usan?

Usted puede usar fácilmente PostgreSQL en cualquier proyecto relacionado con el trabajo con bases de datos relacionales. En serio, es una herramienta brillante.

Si está completamente verde, comience con SQL para principiantes en PostgreSQL. Aprenderás los fundamentos necesarios para empezar a trabajar con PostgreSQL. Luego recomiendo el curso Ejercicio de SQL en PostgreSQL. Le será útil antes de la entrevista, antes del examen, o simplemente cuando quiera repasar Postgres.

PostGIS

PostGIS

Una de las extensiones más interesantes de PostgreSQL es PostGIS. Se trata de un complemento que permite almacenar y procesar datos geográficos en PostgreSQL.

Los conjuntos de datos geográficos (como las coordenadas de los puntos en un mapa o los límites de las áreas) pueden ser enormes. A menudo se trata de terabytes de datos a los que, de otro modo, sería difícil acceder.

Gracias a PostGIS, esto se puede hacer con bastante facilidad y, sobre todo, con rapidez. Lo que normalmente llevaría horas, ahora sólo puede llevar segundos.

¿Quiere un ejemplo de un sitio que utilice PostGIS? OpenStreetMap es uno de ellos.

Si esto te parece magia negra, te recomiendo este curso de PostGIS. Es uno de los mejores cursos de este tipo en el mercado. Fue nuestro Curso del Mes en LearnSQL.es, y hablé con su co-creadora, Agnieszka Kozubek-Krycuń, que es la Jefa de Contenidos de Vertabelo sobre él.