Curso
Una base de datos relacional es un conjunto de tablas (conjuntos de datos con filas y columnas) que contienen información relacionada con otras tablas de la base de datos.
El siguiente diagrama contiene información sobre las columnas de dos tablas de una base de datos relacional de ejemplo. Ambas tablas contienen columnas llamadas customer_id, que establecen una relación entre las tablas. A medida que la empresa crece y registra miles (o millones) de pedidos, almacenar los datos en tablas separadas ayuda a optimizar el espacio y a reducir el tamaño de la base de datos.

SQL, o lenguaje de consulta estructurada, es el lenguaje estándar para interactuar con bases de datos relacionales. Con SQL puedes consultar, o hacer preguntas, a los datos de una base de datos relacional. Trabajar con SQL y bases de datos relacionales es una habilidad inestimable para un analista de datos, un ingeniero de datos o un científico de datos.
Si has empezado a buscar formas de aprender SQL, quizá te hayas dado cuenta de que hay muchos dialectos diferentes de SQL para aprender, con algunas distinciones claras (y menos claras) entre los distintos dialectos. ¿Por dónde empiezas? ¿Qué versión de SQL te resulta más útil si no lo has utilizado antes? En este artículo, nos centraremos en cuatro de los sistemas de gestión de bases de datos más populares (PostgreSQL, MySQL, SQLite y SQL Server) y sus versiones de la sintaxis SQL.
El siguiente gráfico, de Stack Overflow Trends, proporciona una idea de la frecuencia con la que se habla de cada una de estas plataformas: cada línea representa el porcentaje de todas las preguntas de Stack Overflow sobre cada versión de SQL.

MySQL ha sido siempre la versión de SQL más popular en las preguntas de Stack Overflow. En segundo lugar está Microsoft SQL Server (incluido T-SQL, el nombre del dialecto de SQL de Microsoft), que sigue siendo una etiqueta sistemáticamente más popular que PostgreSQL y SQLite. Esto significa que, si tienes una pregunta específica sobre uno de estos sistemas, es más probable que encuentres que alguien ya ha hecho tu pregunta.
¿Cuál es la diferencia?
PostgreSQL, MySQL y SQLite utilizan una sintaxis muy similar, con algunas diferencias notables que se destacan a continuación. Microsoft SQL Server tiene el mayor contraste en sintaxis SQL, así como una amplia variedad de funciones no disponibles en otras plataformas. La tabla siguiente muestra algunos ejemplos de diferencias básicas entre plataformas SQL.
SQL Server | MySQL | PostgreSQL | SQLite | |
---|---|---|---|---|
SELECT ... | Select [col1], [col2] | SELECT col1, col2 | SELECT col1, col2 | SELECT col1, col2 |
¿Los datos de las tablas distinguen entre mayúsculas y minúsculas? | Sí, WHERE name = ‘John’ O WHERE name = ‘john’ no es lo mismo | No, WHERE name = ‘John’ O WHERE name = ‘john’ es lo mismo | Sí, WHERE name = ‘John’ O WHERE name = ‘john’ no es lo mismo | Sí, WHERE name = ‘John’ O WHERE name = ‘john’ no es lo mismo |
Uso de las comillas | solo name = ‘John’ | name = ‘John’ o name = “John” | solo name = ‘John’ | name = ‘John’ o name = “John” |
Alias para columnas y tablas | SELECT AVG(col1)=avg1 | SELECT AVG(col1) AS avg1 | SELECT AVG(col1) AS avg1 | SELECT AVG(col1) AS avg1 |
Trabajar con fechas | GETDATE() DATEPART() | CURDATE() CURTIME() EXTRACT() | CURRENT_DATE() CURRENT_TIME() EXTRACT() | DATE(‘now’) strftime() |
Funciones ventana, es decir, OVER(), PARTITION BY() | Sí | Sí | Sí | Sí |
¿Por dónde empiezo?
A los alumnos que tengan poca o ninguna experiencia con SQL y quieran adquirir los conocimientos más ampliamente aplicables, les recomiendo que empiecen con PostgreSQL. A pesar de la abrumadora popularidad de MySQL, PostgreSQL puede ser una opción mejor porque su sintaxis se ajusta más al SQL estándar. Esto significa que puedes trasladar fácilmente tus conocimientos a otros sistemas de gestión de bases de datos, como MySQL o SQLite. Por ejemplo, la consulta siguiente agrega datos de una base de datos de información de ventas. Contiene una unión, una función de agregación y un filtro. Esta sintaxis generará resultados idénticos en los tres sistemas de bases de datos.
Select
c.customer_name,
SUM(p.amount) AS total_sales
FROM customers AS c
LEFT JOIN purchases AS p
ON c.customers_id = p.customer_id
WHERE
c.customer_location = 'USA'
GROUP BY
c.customer_name;
Si prevés trabajar con Microsoft SQL Server en tu carrera, te recomiendo que empieces aprendiendo T-SQL/Microsoft SQL. SQL Server sigue manteniendo una cuota de mercado considerable y es un importante sistema de gestión de bases de datos en muchos sectores. Si no estás seguro de cuál de los dos es más importante para ti, te recomiendo que eches un vistazo a las ofertas de empleo de tu campo para determinar si hay preferencia por un sistema de base de datos concreto en funciones o sectores específicos.
¿Cómo puede ayudar DataCamp?
En DataCamp, actualmente ofrecemos dos cursos de SQL que cubren temas introductorios y uniones en PostgreSQL. Tenemos algunos cursos interesantes en desarrollo que cubren temas intermedios y avanzados de PostgreSQL. También tenemos varios cursos de SQL Server en desarrollo, incluido el curso Introducción a T-SQL/Microsoft SQL, que te proporcionará una base clara para trabajar con SQL Server. Puedes consultar nuestra hoja de ruta de cursos para obtener más información.
Si quieres practicar por tu cuenta la interacción con una base de datos PostgreSQL, te recomiendo que explores conjuntos de datos en Kaggle. Si encuentras algo que te interese, sigue adelante e impórtalo en PostgreSQL (los archivos CSV o SQLite se importarán en PostgreSQL) y ¡empieza a explorar!
¡Ven a enseñar con nosotros!
¿Te interesa compartir tus conocimientos y tu pericia con los tres millones de alumnos de DataCamp? Siempre buscamos instructores que realicen aportaciones a nuestra creciente biblioteca de cursos. Nuestra lista de cursos deseados destaca las competencias que esperamos poner a disposición de nuestros alumnos en los próximos meses. Puedes presentar tu solicitud aquí, en este enlace. ¡Estamos deseando trabajar contigo!