
Veamos qué son las bases de datos y por qué son tan importantes hoy en día.
Veamos por qué es conveniente usar una base de datos, en vez de otros métodos existentes para guardar datos.
Veamos rápidamente cuál es la diferencia entre las bases de datos relacionales (SQL) y las bases de datos no relacionales (NoSQL).
¿Qué son los sistemas gestores de bases de datos? ¿Qué relación tienen con las bases de datos relacionales?
Veamos qué es SQL, y qué es MySQL. Así mismo, qué son las consultas SQL, y cómo se pronuncian estos términos.
Veamos rápidamente qué necesitamos instalar para iniciar con la parte práctica del curso: MySQL y Workbench.
Veamos cómo instalar MySQL Workbench en Windows, haciendo uso del instalador disponible para Windows.
Veamos cómo instalar MySQL Community Server, y así mismo MySQL Workbench, en Mac.
En esta lección vemos cómo crear una conexión MySQL, y así conectarnos a nuestro servidor local de MySQL.
Exploremos rápidamente qué opciones tenemos disponibles en la interfaz de usuario que nos brinda MySQL Workbench.
A fin de trabajar todos con las mismas bases de datos de ejemplo, veamos cómo exportar e importar bases de datos, usando MySQL Workbench.
Aprende a escribir tu primera query usando SQL.
Veamos cómo usar SELECT, para obtener información de columnas específicas de nuestras tablas, cómo asignar alias a las columnas, y cómo seleccionar valores únicos (sin repetir).
Aprende a filtrar registros de una tabla usando la cláusula WHERE, y cómo puedes escribir comentarios en SQL.
Veamos qué operadores tenemos disponibles para comparar valores. Así mismo, más ejemplos de cómo podemos filtrar nuestros resultados usando WHERE.
Te propongo un primer ejercicio usando WHERE. Y finalmente lo resolvemos, para que puedas comparar con tu solución.
Veamos cuál es la diferencia entre estos 2 operadores lógicos, y ejemplos de cómo los podemos usar.
Aprende qué es la precedencia de operadores, y cómo funciona para los operadores lógicos y los aritméticos.
¿Cómo funciona el operador de negación? Veamos ejemplos de cómo lo puedes usar en tus consultas SQL.
Te propongo resolver un ejercicio, haciendo uso de WHERE y los operadores que hemos visto en lecciones anteriores. Finalmente lo resolvemos juntos.
Veamos cómo podemos usar el operador IN para simplificar la consulta que escribimos en la lección anterior. También revisamos qué sintaxis es soportada, cuando comparamos una misma columna con múltiples valores.
En esta lección vemos que también es posible usar NOT junto a IN. Finalmente resolvemos un ejercicio propuesto.
Si tenemos una condición de "mayor o igual a" junto a una de "menor o igual a", podemos simplificar usando el operador BETWEEN.
Te propongo resolver el siguiente ejercicio haciendo uso del operador BETWEEN.
En esta lección exportamos e importamos una nueva base de datos, para trabajar con ella. También empezamos a ver cómo funcionan las relaciones entre tablas.
Veamos cómo hacer uso del operador LIKE, y cómo se diferencia del operador de igualdad.
Ahora te propongo resolver un ejercicio haciendo uso de LIKE y comparaciones con cadenas de texto. Finalmente lo resolvemos juntos.
Veamos cómo podemos hacer uso de Expresiones Regulares en nuestras consultas SQL. ¿En qué situaciones es conveniente en vez de usar LIKE?
A fin de complementar la lección anterior, continuamos viendo más expresiones regulares que podemos usar en conjunto con el operador REGEXP.
Te invito a resolver el siguiente ejercicio propuesto sobre expresiones regulares. Al final vemos y comparamos nuestra solución juntos.
Veamos qué significa NULL, y cómo podemos filtrar valores nulos y no nulos en nuestras consultas SQL.
Veamos ahora un ejercicio propuesto, y su solución, haciendo uso de IS NULL. También usamos IS NOT NULL para verificar.
Hasta ahora vimos cómo filtrar registros de una tabla. Veamos cómo podemos ordenar nuestros resultados, y cómo aplicar varios criterios de orden.
Veamos ahora un ejercicio propuesto, que implica ordenar las filas en base al resultado de una operación aritmética.
Veamos qué es LIMIT, cómo funciona, y por qué es importante limitar nuestras filas resultantes.
Veamos qué parámetros acepta la cláusula LIMIT, y cómo podemos usarla para paginar nuestros resultados.
Veamos ahora un ejercicio propuesto, que implica el uso de la cláusula LIMIT y otras que vimos en lecciones anteriores.
Veamos qué son los JOIN y cómo podemos empezar a hacer uso de ellos para relacionar datos entre tablas.
Te propongo resolver el siguiente ejercicio haciendo uso de INNER JOIN. También resolvemos el ejercicio juntos.
Anteriormente vimos cómo realizar un JOIN entre tablas de una misma base de datos. Veamos qué ocurre si necesitamos relacionar información proveniente de distintas bases de datos.
En esta lección importamos una nueva base de datos, y empezamos a explorar sus tablas.
¿Es posible hacer un JOIN de una tabla consigo misma? Veamos cómo a través de un ejemplo.
Ya hemos visto como trabajar con JOIN entre dos tablas. Veamos cómo hacer JOIN con múltiples tablas en una misma query.
Resolvamos ejercicios propuestos con relación al uso de múltiples JOINs. El primero consiste en asociar empleados y managers con sus oficinas de trabajo. El segundo consiste en detallar la información de un pago.
En esta lección vemos cómo ejecutar un script, para crear una nueva base de datos, llamada store.
Veamos qué es una condición JOIN compuesta, y así mismo, qué es una clave primaria compuesta.
Veamos qué son los OUTER JOINs y cómo se diferencian de los INNER JOINs. Así mismo veamos qué es y cómo usar la cláusula LEFT JOIN.
Veamos qué es un RIGHT JOIN y en qué se diferencia de un LEFT JOIN. ¿Es posible convertir un LEFT JOIN en RIGHT JOIN?
¿Qué es un LEFT OUTER JOIN y un RIGHT OUTER JOIN?
Veamos ahora el ejercicio propuesto con relación a OUTER JOIN. En este caso, identificamos productos que nunca han sido comprados.
Es posible usar múltiples OUTER JOINs. Veamos cómo a través de un ejemplo.
Veamos un ejercicio propuesto que implica usar tanto OUTER JOIN como INNER JOIN como parte de la misma query.
Anteriormente hemos usado INNER JOIN para relacionar una tabla consigo misma. Veamos si es posible hacer lo mismo con un OUTER JOIN, y un ejemplo mostrando por qué es importante.
Veamos cómo podemos simplificar nuestra sintaxis ON usada en nuestros JOIN, haciendo uso de la palabra clave reservada USING.
Veamos cómo usar USING cuando tenemos condiciones compuestas por más de una columna.
Veamos qué es un NATURAL JOIN, cómo se usa, y por qué no se recomienda su uso.
Veamos qué es un CROSS JOIN y cómo podemos usarlo en nuestras consultas.
Veamos ahora una forma alternativa de realizar un CROSS JOIN, sin usar la sintaxis que vimos en la lección anterior explícitamente.
Para este ejercicio propuesto vamos a realizar un CROSS JOIN, tanto de manera implícita como explícita.
Veamos qué es el operador UNION, cómo funciona y ejemplos de cómo usarlo.
Veamos que también es posible usar UNION para unir resultados provenientes de diferentes tablas, incluso de diferentes bases de datos.
Veamos un ejercicio propuesto en el que usamos UNION múltiples veces, de manera continua, para juntar resultados provenientes de diferentes consultas SQL.
Revisemos un poco más de cerca, qué atributos pueden tener las columnas en nuestras tablas.
Qué significa que una columna sea autoincremental, y qué significa que tenga asignada una expresión por defecto.
Hasta ahora sólo hemos consultado datos, filtrado y ordenado datos. Veamos ahora cómo insertar nuevas filas sobre nuestras tablas.
Veamos ahora cómo insertar múltiples filas, como parte de una misma operación de inserción de datos.
Resolvemos el siguiente ejercicio propuesto, e insertemos nuevos productos a nuestra base de datos que representa a una tienda.
Veamos cómo insertar registros cuando una tabla presenta detalles en otra tabla, de manera consistente.
En esta lección vemos cómo crear una tabla nueva a partir de resultados de una consulta SQL.
En este ejercicio propuesto creamos una tabla a partir de la información de ciertos clientes. Los datos que guardamos requieren asociar la tabla de clientes con las órdenes.
Veamos cómo actualizar nuestros datos en nuestras tablas.
Veamos cómo actualizar múltiples filas como parte de una misma query. Así mismo, qué es el modo seguro, por qué es importante, y cómo desactivarlo cuando es necesario.
Veamos cómo actualizar registros asignando valores calculados a partir de valores actuales, y cómo activar y desactivar el modo seguro a través de una variable de sistema.
Veamos cómo es posible actualizar datos en una tabla, afectando filas que resultan de evaluar una subquery.
El ejercicio propuesto consiste en actualizar la fecha de envío, para órdenes asociadas a una empresa determinada. La nueva fecha se calcula a partir del valor actual.
Luego de ver cómo insertar y actualizar registros, veamos ahora cómo eliminar registros, y consideraciones importantes que debemos tener en cuenta.
De momento hemos visto cómo obtener, filtrar y ordenar datos. Es momento de ver cómo agrupar datos y trabajar con grupos de filas.
Veamos cómo es posible ordenar nuestros grupos. En este caso, generamos un ranking del área promedio que tienen los continentes, listando el top 3.
Veamos cómo aplicar filtros sobre nuestros grupos, cuál es la diferencia entre HAVING y WHERE, y cómo usarlos.
¿Podemos usar WHERE y HAVING al mismo? Veamos de qué forma, y en qué casos podría resultarnos útil.
Veamos cómo hacer uso de una subquery, como parte de una columna de un SELECT más general. En este caso, mostramos los países con su área, y al costado el promedio de su continente.
Veamos cómo hacer uso de una subconsulta, como parte de la fuente de datos determinada por un FROM de una consulta SQL más general.
Veamos qué son y cómo usar la funciones de agregado, también conocidas como funciones de agrupamiento.
Veamos cuál es la diferencia entre estructura y datos al revisar las tablas de nuestras bases de datos.
Veamos cómo eliminar una base de datos y cómo crear una nueva base de datos.
En esta lección creamos una primera tabla para nuestra nueva base de datos.
Veamos como alterar la estructura de una tabla existente, agregando una nueva columna.
Veamos qué son las claves primarias y por qué son importantes.
Veamos qué son las claves foráneas y por qué son importantes.
En esta lección agregamos una clave primaria autoincremental para nuestra tabla de estudiantes, con la intención de posteriormente definir claves foráneas que la referencien.
En esta lección definimos una clave foránea asociada a la clave primaria que creamos en la lección anterior, y luego insertamos registros sobre nuestras tablas.
Ahora, como parte del ejercicio propuesto, debes crear una tabla nueva y así mismo una correspondiente clave foránea en la tabla de matrículas.
En esta lección escribimos una consulta SQL sobre el cambio de estructura realizado en el ejercicio anterior.
Mencionamos brevemente lo aprendido en el curso, y qué temas siguientes te recomiendo revisar, para que puedas continuar expandiendo tus conocimientos sobre SQL.
En esta lección exploramos funciones SQL para trabajar con números, y vemos cómo hacer uso de la inteligencia artificial para continuar aprendiendo.
Continuando la idea de la lección anterior, esta vez exploramos las funciones SQL que tenemos disponibles para trabajar con cadenas de texto y con fechas.
En el curso hemos revisado los tipos de datos más comunes. En esta lección vemos que existen algunos más que puedes continuar explorando.
Felicitaciones por culminar el curso. Recuerda que lo más importante es continuar practicando. Te deseo los mejores éxitos.
¿Por qué aprender SQL?
Es la habilidad más importante si deseas convertirte en ingeniero de software o sumergirte en la ciencia de datos.
En este curso nos centramos en lo que realmente importa: dominar SQL y conseguir una sólida comprensión de cómo crear y consultar bases de datos relacionales.
El curso empieza mostrando la importancia de las bases de datos hoy en día, y la variedad de sistemas gestores de bases de datos que existen, y con los que te podrías encontrar profesionalmente.
Al final del curso, sabrás cómo:
escribir consultas SQL haciendo uso de las cláusulas convenientes según cada caso,
gestionar datos entre múltiples tablas y bases de datos,
y crear bases de datos desde cero, estableciendo relaciones apropiadas entre tablas.
Este curso es altamente práctico, lleno de ejercicios y diseñado para darte experiencia práctica, para que estés listo para enfrentarte a desafíos del mundo real.
Aprenderás a filtrar, ordenar y gestionar registros en una base de datos relacional.
Escribiras código SQL usando técnicas avanzadas como JOIN, UNION, y subconsultas en varios niveles.
Repasaremos los comandos, operadores y principios de las bases de datos relacionales, para que puedas crear bases de datos funcionales y bien estructuradas.
Ya seas principiante o busques perfeccionar tus habilidades en SQL, este curso te ayudará a ganar confianza en el uso de SQL para cualquier proyecto del mundo real.
¡Empecemos y hagamos de SQL una de tus habilidades principales!
No necesitas ningún conocimiento previo:
El curso cubre todo lo que necesitas saber desde un inicio, así que no te preocupes si eres completamente en este mundo de la programación.
Ni siquiera necesitas saber qué es una base de datos.
Para aquellos que ya cuentan con cierta experiencia, los primeros módulos te serán de ayuda para reforzar tus conocimientos sobre los fundamentos de SQL y bases de datos.
SQL es el lenguaje base para aprender MySQL, SQLServer, SQLite, PostgreSQL, Oracle, etcétera.
En el curso nos enfocamos principalmente en MySQL al momento de escribir el código, pero la gran mayoría de este conocimiento y la sintaxis, se puede extrapolar a los otros sistemas de bases de datos relacionales antes mencionados.