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

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

Aquí está: otra tanda de términos SQL imprescindibles. En las dos primeras partes, cubrimos las tablas, las bases de datos relacionales, las consultas, los alias, Tipos de JOIN en SQL, las claves primarias y las subconsultas. La última vez, pasamos a términos más avanzados como INSERT INTO, GROUP BY y HAVING. ¿Estás preparado para profundizar en la terminología de SQL?

Esta es la cuarta entrega de nuestra serie sobre términos básicos de SQL para principiantes (y para todos los demás). No te preocupes si te perdiste los artículos anteriores; puedes encontrar la Parte 1 (términos esenciales de SQL), la Parte 2 y la Parte 3 en nuestro blog.

No dudes en volver a los artículos anteriores, incluso si ya los has leído. Cuanto más repitas esta información, mejor la retendrás. Así que, aprendamos más términos de SQL que necesitas conocer.

Más términos SQL para principiantes

CASE

La sentencia CASE pasa por múltiples condiciones y devuelve un valor cuando la primera condición se cumple. Una vez que la condición es verdadera, CASE devuelve el resultado y se detiene. Si hay una situación en la que ninguna condición es verdadera, devuelve el valor en la cláusula ELSE. Si no hay una cláusula ELSE y ninguna condición es verdadera, devuelve NULL.

CASE puede utilizarse en sentencias SELECT con las cláusulas WHERE, ORDER BY y GROUP BY . También funciona con la sentencia INSERT.

La sentencia case en SQL se puede utilizar de dos maneras: asignando un resultado a un valor o calculando un resultado a partir de expresiones lógicas. Puedes aprender más sobre esto en nuestro artículo sobre el uso de CASE con la función SUM().

Cláusulas CTE / WITH

CTE es la abreviatura de Common Table Expression (Expresión de tabla común); también se denomina cláusula WITH o cláusula denominada WITH. Esto se debe a que la palabra clave WITH inicia todas las CTEs.

Las CTE se introdujeron por primera vez en SQL:1999 y se adoptaron en SQL Server en 2005. Lo principal y lo mejor de la CTE es que simplifica y aclara las consultas complejas.

Cuando aprendas a utilizar las CTEs, las elegirás sobre las subconsultas la mayoría de las veces. ¿Por qué? Porque las CTEs hacen que sus consultas sean más legibles al dividirlas en bloques más pequeños.

Con una CTE, se define un conjunto de resultados temporal con nombre. Es temporal porque no se almacena permanentemente en ningún sitio. Existe y está disponible en la ejecución de las sentencias SELECT, INSERT, UPDATE, DELETE o MERGE; cuando la sentencia se ha ejecutado, el CTE se descarta.

Estas son algunas reglas básicas de la CTE:

  • Comience con el operador WITH.
  • Especifique el nombre que utilizará para la CTE. Opcionalmente, también puede especificar los nombres de las columnas, separados por comas.
  • Después del nombre de la expresión, ponga el AS
  • Escriba la consulta que producirá el conjunto de resultados deseado.

La sintaxis básica de la cláusula WITH tiene el siguiente aspecto:

WITH subquery1_name AS
(SELECT … subquery1...),
subquery2_name AS
(SELECT … subquery2...)
SELECT … main query ... 

Como puedes ver en el ejemplo de sintaxis, puedes tener múltiples CTEs en una consulta. Y estos CTEs pueden referirse a sí mismos o a otro CTE en la consulta.

Los CTEs pueden ser recursivos o no recursivos. Los CTEs recursivos son más avanzados y requieren la adición de la palabra clave RECURSIVE. Permiten recorrer estructuras jerárquicas como listas de materiales u organigramas.

Hay muchas formas de utilizar los CTEs. Puede consultarlas en nuestra guía. También puede ver algunos ejemplos prácticos y aprender más sobre por qué vale la pena utilizar la cláusula WITH.

DISTINTO

Incluso si eres un principiante absoluto en SQL, probablemente estés familiarizado con los datos duplicados. Esto sucede porque las consultas SQL mostrarán todas las filas devueltas en el conjunto de resultados, incluso si son idénticas. Afortunadamente, la palabra clave DISTINCT está aquí para limpiar las cosas eliminando todos los valores duplicados de su resultado.

DISTINCT funciona con SELECT y debe aparecer antes de las columnas especificadas. Su aspecto es el siguiente:

SELECT DISTINCT
  column_1,
  column_2,
  …,
  column_n
FROM table_name

Puede usar DISTINCT con una o más columnas. Pero recuerde que SQL DISTINCT buscará más bien una fila distinta que una columna distinta.

Esto es sólo una parte de las posibilidades que ofrece DISTINCT. Si quieres aprender a manejar múltiples columnas o funciones agregadas o usar DISTINCT con GROUP BY, lee este artículo. También puedes ampliar tus conocimientos con nuestro completo itinerario de aprendizaje SQL de la A a la Z.

IDE

IDE significa entorno de desarrollo integrado. Ya sabes que necesitas un entorno donde escribir tus consultas SQL. Por supuesto, puedes empezar utilizando la línea de comandos, pero pronto necesitarás algo más.

Un IDE combina un editor de código, un depurador, algo de automatización y, básicamente, todo lo que necesitas para trabajar cómodamente con grandes bases de datos. ¿Quizás hayas oído hablar de Oracle SQL Developer, My SQL Workbench o DBeaver? Todos ellos son IDEs.

Si no estás seguro de qué IDE de SQL sería adecuado para ti, consulta nuestra lista de los mejores IDE de 2021.

INTERSECT

Este es uno de los operadores de conjunto de SQL. Con INTERSECT, puedes combinar dos SELECT dos sentencias. A cambio, obtendrá filas que son comunes a ambas sentenciasSELECT. INTERSECT crea una intersección de las sentencias seleccionadas.

Eche un vistazo a la sintaxis básica de INTERSECT:

SELECT column_1 [, column_2, …, column_n]
FROM table_1 [, table_2, …, table_n]
[WHERE condition]
 
INTERSECT
 
SELECT column_1 [, column_2, …, column_n]
FROM table_1 [, table_2, …, table_n]
[WHERE condition]

Cuando quieras usar INTERSECT, hay algunas cosas que debes recordar. Cuando escribas las consultas en SELECT, el número y el orden de las columnas debe ser el mismo. Además, los tipos de datos de las columnas deben ser los mismos o, al menos, compatibles.

Puede obtener más información sobre INTERSECT aquí.

UNIÓN

Ya has conocido INTERSECT. Ahora es el momento de otro operador de conjunto básico: UNION. También es útil cuando se quiere comparar dos o más tablas. La diferencia es que las sentencias UNION devuelven sólo valores únicos.

Por ejemplo, suponga que tiene dos tablas que contienen las películas favoritas de dos personas. Con UNION, puede fusionar estas tablas y obtener un resultado que no incluya ningún duplicado. (Pero si quiere saber si a esas personas les gustan las mismas películas, tendría que utilizar INTERSECT).

Vista

Una vista es una sentencia SQL con nombre y almacenada en la base de datos. En otras palabras, es como almacenar una consulta predefinida; una vista almacena la consulta en sí, no el resultado de la consulta. Para obtener más información sobre las vistas SQL, consulte este artículo.

Puede crear una vista a partir de una o varias tablas. Puede contener filas seleccionadas de una tabla o todas ellas. La forma en que la vista estructura los datos es realmente clara e intuitiva. Se obtienen datos resumidos, que pueden ser muy útiles, por ejemplo, para generar informes.

Para los principiantes, las vistas y los CTEs parecen bastante similares. Si quieres saber cuándo usar cada una, consulta este artículo sobre la diferencia entre CTEs y vistas en SQL.

WHERE

WHERE es una de las cláusulas más importantes de SQL. Es casi tan común como SELECT.

WHERE Básicamente describe lo que está buscando en su consulta. Se puede utilizar con números o texto para devolver un valor o un rango de valores. WHERE también se puede utilizar con DELETE para eliminar algunos datos o con UPDATE para modificar un registro.

Este es el aspecto de WHERE con números:

SELECT *
FROM table
WHERE id = 2021

Y aquí está WHERE con texto:

SELECT * 
FROM best_sailors 
WHERE FirstName = 'Yannick' AND LastName = 'Bestaven'

WHERE, como puedes ver, es una herramienta muy potente. Te da muchas opciones cuando trabajas con datos.

Funciones de ventana

Las funciones de ventana son otra gran herramienta para los que quieren perfeccionar sus conocimientos de SQL. Estas funciones realizan cálculos en un conjunto de filas que están relacionadas con la fila actual. La "ventana" en la función de ventana se debe a que este conjunto de filas se denomina "ventana" o "marco de ventana".

Las funciones de ventana le permiten realizar análisis estadísticos, como clasificar los datos en función del mayor número de ventas, calcular los totales de ingresos corrientes o utilizar medias móviles para analizar el rendimiento de las tiendas. Son muy valiosas cuando se quieren comparar datos a lo largo del tiempo y seguir tendencias.

Básicamente, las funciones de ventana ayudan con todo lo que es importante en el análisis empresarial. Si quiere ver algunos ejemplos prácticos sencillos, consulte nuestro artículo sobre el uso de las funciones ventana. Si sabe que necesitará las funciones de ventana, aquí hay un gran curso interactivo Funciones de ventana curso interactivo.

Leer, repetir, recordar

Bien hecho: ¡acaba de ampliar sus conocimientos sobre términos SQL! Pero no ha terminado. Recuerda: cuanto más leas, repitas y aprendas, más rápido te sentirás seguro discutiendo (y usando) SQL.

Para mejorar tus conocimientos de SQL, prueba los cursos online de LearnSQL y visita regularmente nuestro blog. Y no olvides suscribirte a nuestro boletín de noticias para estar informado de los nuevos artículos y promociones.

¿Hay alguna sentencia o término SQL que te gustaría ver en estos artículos? Dínoslo en los comentarios. Puede que aparezcan en nuestro próximo resumen de términos SQL para principiantes. ¡Permanece atento!