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

¿Cuánto tiempo se tarda en aprender SQL? Los mejores consejos para dominar SQL

¿Es difícil aprender SQL? ¿Cuánto tiempo se tarda en dominar SQL? Este artículo responderá a esas preguntas,a la vez que te enseñará a usar los comandos SQL más útiles.

¿Cuánto tiempo se tarda en aprender SQL? Si alguna vez has intentado aprender un nuevo idioma, sabes que no es una tarea sencilla y que puede llevar años. Por suerte, dominar SQL es mucho más sencillo que dominar adverbios o géneros gramaticales.

Es difícil determinar el tiempo que se tarda en aprender cualquier cosa. No sólo depende de tu punto de partida, sino también de tu apertura a la nueva información, de las diferentes demandas que compiten por tu tiempo y de tu capacidad para retener nuevos conceptos. Algunos parecen tener superpoderes para absorber y recordar, mientras que otros sufren del síndrome de "olvidarlo todo al día siguiente".

Bromas aparte, has venido aquí en busca de una respuesta seria a una pregunta muy válida. ¿Quieres saber cuán rápido se puede aprender SQL? Pronto llegaremos a ese número mágico.

Al igual que aprender a hervir un huevo o atarse los cordones de los zapatos, aprender SQL no se logra de la noche a la mañana. Pero con práctica y unas cuantas semanas —o meses— de esfuerzo, lograrás añadir SQL a tu caja de herramientas digitales.

En este artículo, veremos los tres aspectos principales de SQL, algunas opciones sobre cómo enfocarte en tu aprendizaje de SQL y los obstáculos que tendrás que superar en el camino.

A medida que avanzas, ten en cuenta estas sabias palabras:

No tienes por qué ser bueno al empezar, pero tienes que empezar para ser bueno.

Cuanto más sabes, más sabes que no sabes.

woah

En todo tipo de aprendizaje sucede algo parecido. Una vez que te hayas sumergido en SQL durante un tiempo, empezarás a darte cuenta de lo mucho que hay que aprender. No te sientas abrumado. Una sólida comprensión de los fundamentos te permitirá llegar muy lejos, incluso en la práctica profesional.

Hay tres "niveles" clave en el aprendizaje de SQL. Piensa en qué grupo te encuentras y mantente en tu carril. No hay necesidad de llegar a las estrellas de inmediato cuando hay mucho y bueno por hacer aquí en la Tierra.

Estos son nuestros tres niveles de aprendizaje de SQL:

1. SQL para principiantes

Hay buenas noticias para la gente con poco tiempo o motivación: aprende los comandos SELECT, INSERT, UPDATE y DELETE de SQL y tendrás el 70% del camino recorrido para usar SQL. Mejor aún: llegarás a ese punto en muy poco tiempo.

He aquí un pequeño y divertido ejemplo.

Digamos que somos una agencia de superhéroes que trabaja a medio tiempo, y contamos con una base de datos de nuestros reclutas activos y de los superhéroes que nos gustaría contratar. Esta tabla, llamémosla Superhéroes, podría tener el siguiente aspecto:

IDNombreActivoTarifa por horaTipo de empleado
1BatmanSi10.95Tiempo completo
2SupermanNo8.50Tiempo parcial
3Mujer MaravillaSi12.20Tiempo parcial
4HulkSi18.10Tiempo completo
5Iron ManNo13.45Tiempo parcial
6AvispaNo10.90Tiempo completo

¿Qué conceptos básicos de SQL necesitamos para trabajar con esta información?

SELECT

SELECT es el punto de partida perfecto para que un novato comience su viaje en SQL. Una sentencia SELECT tiene este aspecto:

SELECT * FROM Superheroes

Debido a que hemos utilizado SELECT * (el asterisco * significa "todas las columnas"), se muestran todas las columnas. Podríamos usar una cláusula WHERE para filtrar los registros, pero no lo hicimos; esto significa que todas las filas de la tabla se devuelven en nuestro resultado.

IDNombreActivoTarifa por horaTipo de empleado
1BatmanSi10.95Tiempo completo
2SupermanNo8.50Tiempo parcial
3Mujer MaravillaSi12.20Tiempo parcial
4HulkSi18.10Tiempo completo
5Iron ManNo13.45Tiempo parcial
6AvispaNo10.90Tiempo completo

SELECT se utiliza casi siempre con una cláusula WHERE, que ayuda a especificar los datos que queremos ver.

Si quisiéramos seleccionar sólo los superhéroes que trabajan a tiempo completo, la consulta sería así:

SELECT * FROM Superheroes
WHERE Tipo de empleado = 'Tiempo completo'
IDNombreActivoTarifa por horaTipo de empleado
1BatmanSi10.95Tiempo completo
4HulkSi18.10Tiempo completo
6AvispaNo10.90Tiempo completo

INSERT, UPDATE y DELETE permiten a los usuarios gestionar los datos. Actualizar o mantener las bases de datos requiere un conocimiento básico de SQL, y las sentencias INSERT, UPDATE y DELETE te acercarán a tu objetivo de "conocer" SQL.

El curso de SQL para principiantes de LearnSQL recorre muchos de estos conocimientos básicos. Por ahora, sólo presentaremos INSERT, UPDATE y DELETE.

INSERT

¿Necesitas añadir una o varias filas a una tabla? INSERT es lo que necesitas. También puede ayudarte a añadir filas de una tabla a otra.

Esta es la estructura básica de una sentencia INSERT en SQL:

INSERT INTO tableName (column1, column2, …)
VALUES (value1, value2, …)

Si quisiéramos "INSERTAR" a Spiderman en nuestra base de datos de superhéroes, haríamos lo siguiente:

INSERT INTO Superheroes
           (Nombre
           ,Activo
           ,Tarifa por hora
           ,Tipo de empleado)
     VALUES
           ('Spiderman'
           ,'Si'
           ,14.10
           ,'Tiempo parcial')

El resultado se vería así:

IDNombreActivoTarifa por horaTipo de empleado
1BatmanSi10.95Tiempo completo
2SupermanNo8.50Tiempo parcial
3Mujer MaravillaSi12.20Tiempo parcial
4HulkSi18.10Tiempo completo
5Iron ManNo13.45Tiempo parcial
6AvispaNo10.90Tiempo completo
7SpidermanSi14.10Tiempo parcial

UPDATE

SQL UPDATE puede ayudarte a cambiar los valores de las columnas de una o varias filas. Una sentencia UPDATE en SQL suele estructurarse de la siguiente manera:

UPDATE tableName
SET column1=value1, column2=value2,...
WHERE filterColumn=filterValue

Si quisiéramos mostrar que Iron Man está ahora activo y tiene una nueva tarifa por hora de 18,5, nuestra sentencia UPDATE y luego el resultado se verían así:

UPDATE Superheroes
SET
	Activo = 'Si',
	Tarifa por hora = 18.5
WHERE
	ID = 5
IDNombreActivoTarifa por horaTipo de empleado
1BatmanSi10.95Tiempo completo
2SupermanNo8.50Tiempo parcial
3Mujer MaravillaSi12.20Tiempo parcial
4HulkSi18.10Tiempo completo
5Iron ManSi18.50Tiempo parcial
6AvispaNo10.90Tiempo completo
7SpidermanSi14.10Tiempo parcial

DELETE

DELETE elimina una o más filas de una tabla. Si eres principiante en SQL, asegúrate de utilizar una base de datos de prueba antes de practicar con este comando, porque a menudo no se puede recuperar lo que se ha eliminado.

Las sentencias DELETE suelen tener este aspecto:

DELETE tableName
WHERE  filterColumn=filterValue;

Si uno de nuestros superhéroes sufiera un final trágico y necesitáramos eliminarlo de nuestra base de datos, haríamos esto:

DELETE FROM Superheroes
WHERE ID = 5

¿El resultado? No más Iron Man.

IDNombreActivoTarifa por horaTipo de empleado
1BatmanSi10.95Tiempo completo
2SupermanNo8.50Tiempo parcial
3Mujer MaravillaSi12.20Tiempo parcial
4HulkSi18.10Tiempo completo
6AvispaNo10.90Tiempo completo
7SpidermanSi14.10Tiempo parcial

2. Uniones SQL

Las uniones (JOIN) añaden otro 10% a tu banco de conocimientos. JOIN une diferentes tablas para que los datos puedan ser analizados de manera colectiva.

Las uniones son útiles si tienes diferentes categorías de datos que residen en diferentes tablas, o si quieres comparar datos nuevos con los de una base de datos existente.

Existen varios tipos de uniones en SQL. La estructura básica de JOIN es:

SELECT Columns
 FROM Table1
JOIN Table2 ON Table1.Column = Table2.Column

Siguiendo con nuestro ejemplo, imaginemos que queremos saber qué superhéroe pertenece a cada universo. Tenemos una tabla llamada UniversoSuperheroes que contiene el ID del superhéroe y el nombre del Universo. Queremos unir las dos tablas para poder mostrar el Universo cuando consultemos la tabla Superheroes.

Nuestra tabla UniversoSuperheroes tiene el siguiente aspecto:

IDSuperheroeIDUniverso
11DC
22DC
33DC
44Marvel
55Marvel
66Marvel
77Marvel

Y nuestra consulta de unión tiene el siguiente aspecto:

SELECT Superheroes.ID, Nombre, UniversoSuperheroe.Universo 
FROM Superheroes
JOIN UniversoSuperheroe ON UniversoSuperheroe.ID = Superheroes.ID

Este es el resultado:

IDNombreUniverso
1BatmanDC
2SupermanDC
3Mujer MaravillaDC
4HulkMarvel
6AvispaMarvel
7SpidermanMarvel

Como ambas tablas tienen un campo llamado ID, tuvimos que explicitar qué columna ID mostrar en nuestros resultados. En la parte Superheroes.ID de SELECT, Superheroes se refiere a la tabla e ID se refiere a la columna. Lo mismo ocurre con la parte UniversoSuperheroe.Universo de SELECT, donde UniversoSuperheroe se refiere a la tabla y Universo a la columna. Puedes verlo en la primera columna después de SELECT.

3. El resto

Y luego, el resto. Todos los demás accesorios de SQL encajan en esta categoría, y aunque ciertamente no son cosas que necesitas saber al principio, pueden ser muy importantes.

¿Sabes cómo diseñar un esquema de base de datos viable? ¿Cómo leer un plan de consulta? ¿Cuándo utilizar una clave natural o una clave sustituta? Todas estas cosas y más forman parte de la categoría "El resto". En términos de tiempo de aprendizaje, pues, hay personas que trabajan con SQL desde hace más de 10 años y que no saben todo "el resto".

No te desanimes. El aprendizaje dura toda la vida, y saber todo en un abrir y cerrar de ojos no trae la felicidad.

¿Qué debe saber un principiante de SQL? Es conveniente que se familiarice con lo siguiente:

  • Comandos SQL básicos como SELECT, INSERT, UPDATE y DELETE.
  • Expresiones WHERE simples.
  • Diferentes tipos de JOIN.
  • Agrupar (GROUP BY), ordenar (ORDER BY), y tener (HAVING).
  • Subconsultas básicas.
  • Claves primarias y claves externas.

¿Te sientes abrumado? ¡No hay por qué preocuparse! Piénsalo así: los hispanoparlantes pueden expresarse de manera correcta utilizando unas 1.000 palabras. Incluso pueden escribir una novela con ese número de palabras. Pero ¿pueden llamarse Miguel de Cervantes o Jorge Luis Borges? Por supuesto que no. Ser competente en SQL no significa tener todas las respuestas. Sólo es necesario conocer un 5% de SQL para realizar la mayoría de las tareas importantes.

Una vez establecido esto y volviendo a la pregunta del principio: ¿Cuál es el número mágico? ¿Cuánto tiempo se necesita para aprender SQL? Basándonos en nuestra experiencia colectiva, una buena dosis de investigación y una pizca de generalización, he aquí nuestra proyección, muy poco científica, de cuánto tiempo se tarda en aprender SQL:

  • ¿Aprendiendo y practicando lo básico? Entre un día y tres meses.
  • ¿Y el resto? Nunca terminarás de aprender.

Obstáculos para aprender SQL

Como principiante en SQL, y aunque tengas mucha experiencia en TI, te enfrentarás a una serie de retos. En general, SQL es un lenguaje sencillo de aprender, sobre todo porque utiliza comandos de sentido común basados en el idioma inglés. Sin embargo, hay algunos obstáculos para dominarlo:

Acostumbrarse a pensar en conjuntos

Una cosa es aprender SQL para gestionar una o varias bases de datos, pero primero hay que acostumbrarse al mundo de los conjuntos.

Las bases de datos son el núcleo de la mayoría de las aplicaciones y están hechas para procesar datos en conjuntos. El propio SQL debe negociar con las bases de datos utilizando conjuntos, por lo que adoptar una mentalidad basada en los conjuntos te ayudará a recorrer un largo camino al trabajar con SQL por primera vez.

Si no estás familiarizado con la Teoría de conjuntos, haz un curso intensivo de Google primero; esto te preparará para alcanzar un mayor éxito como estudiante de SQL.

Casi todas las áreas de la informática giran en torno a los conjuntos, por lo que prestar algo de atención a este tema nunca será tiempo perdido.

Conocimiento de los libros vs. conocimiento de la vida real

El segundo obstáculo para aprender SQL no es tanto una barrera como una trampa. Para entender SQL, tendrás que leer mucho. Tendrás que leer y aprender las sentencias y premisas básicas, cómo realizar tus consultas, la teoría de conjuntos y el diseño de las bases de datos.

PERO, una vez que hayas hecho una lectura inicial, nuestro consejo es: pon las manos en ello. Entra en una base de datos (preferiblemente de prueba), crea o encuentra algunos escenarios y utiliza tus nuevos conocimientos de las sentencias SQL básicas para jugar.

La brecha entre el conocimiento de los libros y el conocimiento de la vida real es significativa, y tendrás que ocuparse de salvar esa brecha con muchos ejercicios prácticos.

Cómo convertirse en un experto en diseño de bases de datos

Puedes ser tan bueno como te propongas en la ejecución de sentencias SQL y en el trabajo con una o más bases de datos. Pero si no entiendes los principios del diseño de bases de datos, acabarás creando y manteniendo bases de datos desordenadas y propensas a los problemas. Estas bases de datos parecen trabajar en tu contra y no a tu favor.

Antes de adentrarte en la autopista de SQL, hazte a un lado y aprende un poco sobre el buen diseño de las bases de datos.

Muchas bases de datos son creadas por personas que no tienen mucha experiencia en el diseño y desarrollo de bases de datos. Lamentablemente, esto suele conducir a decisiones técnicas que luego resultan poco óptimas. Esto implica mucha frustración, demasiadas soluciones y, potencialmente, errores en los propios datos.

¿Cuál es la mejor manera de aprender SQL?

Independientemente del tiempo que te lleve aprender SQL, tendrás una mejor experiencia si sigues algunos consejos. Estos son nuestros tres principales consejos para que tu experiencia de aprendizaje de SQL sea rápida y sin complicaciones:

1. Empezar por lo básico

Aprender los aspectos más complejos de SQL puede llevar años; de hecho, la mayoría de los expertos en SQL dicen que nunca dejan de aprender. Así que no te lances por la medalla de oro en SQL de inmediato. Los aspectos básicos no sólo son fáciles y rápidos de aprender, sino que también constituyen una gran parte de lo que necesitarás para utilizar SQL en el ámbito profesional.

Cada persona es diferente, pero aprender las sentencias SQL básicas puede llevar desde un par de horas hasta un par de semanas. Puede llevar meses dominarlas, pero una vez que entiendas los conceptos que hay detrás de sentencias como INSERT, UPDATE y DELETE, estarás muy bien situado para usarlas en el mundo real.

Lo mejor es limitarse a SQL para principiantes hasta que sientas que lo dominas. Si pasas a componer consultas complicadas antes de estar preparado, puedes errores mayores más adelante.

2. Haz un curso en línea

Puede que seas un gran aprendiz autodidacta, pero cuando te enseñas a ti mismo SQL desde cero, corres el riesgo de complicar demasiado las cosas. Los fundamentos de SQL son bastante sencillos, y mucha gente ha hecho este viaje de aprendizaje antes que tú. Por lo tanto, lo más lógico es seguir el camino trillado, y hacer un curso que enseñe sólo lo necesario y que te dé muchas oportunidades de practicar.

3. Apuesta por el aprendizaje práctico

¿Aprender a pilotar un avión? ¿Hacer una cirugía cerebral? ¿Dividir átomos? Primero tendrás que leer mucho. Pero, en el caso de SQL, lo mejor que puedes hacer es ponerte manos a la obra. Busca una base de datos gratuita de código abierto y empieza a componer y ejecutar consultas básicas.

Si encuentras una buena base de datos de prueba, estúdiala. Comprueba el código subyacente a las diferentes consultas y procedimientos. Descubrirás que te estás familiarizando con SQL muy rápidamente. Los ejemplos del mundo real en un entorno de base de datos de prueba son la mejor herramienta de formación.

En las inmortales palabras de Ben Franklin:

"Dímelo y lo olvidaré; enséñame y lo recordaré; involucrame, ¡entonces aprenderé!".

(¡No sería un buen artículo en línea sin Ben Franklin!)

Empezar a aprender SQL con Vertabelo

¿Qué tan difícil es aprender SQL?

Bueno, en realidad nunca lo sabrás todo... no completamente. Así como sigues aprendiendo palabras nuevas, siempre habrá algún nuevo truco de SQL que dominar. Dicho esto, hay muchas cosas que puedes aprender, y una amplia comprensión de lo básico te permitirá ser un buen usuario de SQL en cuestión de semanas.

Un buen lugar para empezar es un curso de SQL en línea. Encuentra uno que te permita utilizar el lenguaje de inmediato. LearnSQL.es ofrece un fantástico curso de SQL para principiantes que hace que el aprendizaje de SQL sea rápido y fácil. Sus 129 ejercicios interactivos te permitirán adquirir experiencia práctica en el manejo de bases de datos y sentencias SQL.

Una vez que haya trabajado con ello, consulta nuestro curso de INSERT, UPDATE y DELETE. Este curso ampliará tus conocimientos sobre las sentencias SQL más importantes.

Las bases de datos son bestias complejas. La mejor manera de domarlas es aprender un poco, practicar mucho y buscar en Google toda la vida.

Cuanto antes empieces, pues... ¡antes llegarás! ¡Buena suerte!