CursosEmpresasBlogLiveConfPrecios
Curso Práctico de SQL

El primero

Curso Práctico de SQL

Contenido del curso

Introducción a SQL

  • 1
    Breve historia de SQL

    Breve historia de SQL

    06:03 min
  • 2
    Álgebra relacional

    Álgebra relacional

    07:05 min
  • 3
    Instalación de la BD de ejemplo

    Instalación de la BD de ejemplo

    01:28 min
  • 4
    Qué es una proyección (SELECT)

    Qué es una proyección (SELECT)

    06:14 min
  • 5
    Origen (FROM)

    Origen (FROM)

    08:41 min
  • 6
    Productos cartesianos (JOIN)

    Productos cartesianos (JOIN)

    10:36 min
  • 7
    Selección (WHERE)

    Selección (WHERE)

    11:50 min
  • 8
    Ordenamiento (ORDER BY)

    Ordenamiento (ORDER BY)

    07:57 min
  • 9
    Agregación y limitantes (GROUP BY y LIMIT)

    Agregación y limitantes (GROUP BY y LIMIT)

    09:09 min

Ejercitando tu SQL

  • 10
    El primero

    El primero

    Viendo ahora
  • 11
    El segundo más alto

    El segundo más alto

    16:25 min
  • 12
    Seleccionar de un set de opciones

    Seleccionar de un set de opciones

    11:16 min
  • 13
    En mis tiempos

    En mis tiempos

    09:50 min
  • 14
    Seleccionar por año

    Seleccionar por año

    08:13 min
  • 15
    Duplicados

    Duplicados

    13:09 min
  • 16
    Selectores de rango

    Selectores de rango

    10:16 min
  • 17
    Eres lo máximo

    Eres lo máximo

    07:55 min
  • 18
    Egoísta (selfish)

    Egoísta (selfish)

    09:47 min
  • 19
    Resolviendo diferencias

    Resolviendo diferencias

    10:49 min
  • 20
    Todas las uniones

    Todas las uniones

    14:45 min
  • 21
    Triangulando

    Triangulando

    10:34 min
  • 22
    Generando rangos

    Generando rangos

    14:27 min
  • 23
    Regularizando expresiones

    Regularizando expresiones

    11:00 min

Conceptos de SQL Avanzado

  • 24
    Bases de datos distribuidas

    Bases de datos distribuidas

    11:59 min
  • 25
    Queries distribuídos

    Queries distribuídos

    11:24 min
  • 26
    Sharding

    Sharding

    09:42 min
  • 27
    Window functions

    Window functions

    13:14 min
  • 28
    Particiones y agregación

    Particiones y agregación

    14:36 min
  • 29
    El futuro de SQL

    El futuro de SQL

    06:13 min
Tomar examen

El primero

Escuelas

  • Desarrollo Web
    • Fundamentos del Desarrollo Web Profesional
    • Diseño y Desarrollo Frontend
    • Desarrollo Frontend con JavaScript
    • Desarrollo Frontend con Vue.js
    • Desarrollo Frontend con Angular
    • Desarrollo Frontend con React.js
    • Desarrollo Backend con Node.js
    • Desarrollo Backend con Python
    • Desarrollo Backend con Java
    • Desarrollo Backend con PHP
    • Desarrollo Backend con Ruby
    • Bases de Datos para Web
    • Seguridad Web & API
    • Testing Automatizado y QA para Web
    • Arquitecturas Web Modernas y Escalabilidad
    • DevOps y Cloud para Desarrolladores Web
  • English Academy
    • Inglés Básico A1
    • Inglés Básico A2
    • Inglés Intermedio B1
    • Inglés Intermedio Alto B2
    • Inglés Avanzado C1
    • Inglés para Propósitos Específicos
    • Inglés de Negocios
  • Marketing Digital
    • Fundamentos de Marketing Digital
    • Marketing de Contenidos y Redacción Persuasiva
    • SEO y Posicionamiento Web
    • Social Media Marketing y Community Management
    • Publicidad Digital y Paid Media
    • Analítica Digital y Optimización (CRO)
    • Estrategia de Marketing y Growth
    • Marketing de Marca y Comunicación Estratégica
    • Marketing para E-commerce
    • Marketing B2B
    • Inteligencia Artificial Aplicada al Marketing
    • Automatización del Marketing
    • Marca Personal y Marketing Freelance
    • Ventas y Experiencia del Cliente
    • Creación de Contenido para Redes Sociales
  • Inteligencia Artificial y Data Science
    • Fundamentos de Data Science y AI
    • Análisis y Visualización de Datos
    • Machine Learning y Deep Learning
    • Data Engineer
    • Inteligencia Artificial para la Productividad
    • Desarrollo de Aplicaciones con IA
    • AI Software Engineer
  • Ciberseguridad
    • Fundamentos de Ciberseguridad
    • Hacking Ético y Pentesting (Red Team)
    • Análisis de Malware e Ingeniería Forense
    • Seguridad Defensiva y Cumplimiento (Blue Team)
    • Ciberseguridad Estratégica
  • Liderazgo y Habilidades Blandas
    • Fundamentos de Habilidades Profesionales
    • Liderazgo y Gestión de Equipos
    • Comunicación Avanzada y Oratoria
    • Negociación y Resolución de Conflictos
    • Inteligencia Emocional y Autogestión
    • Productividad y Herramientas Digitales
    • Gestión de Proyectos y Metodologías Ágiles
    • Desarrollo de Carrera y Marca Personal
    • Diversidad, Inclusión y Entorno Laboral Saludable
    • Filosofía y Estrategia para Líderes
  • Diseño de Producto y UX
    • Fundamentos de Diseño UX/UI
    • Investigación de Usuarios (UX Research)
    • Arquitectura de Información y Usabilidad
    • Diseño de Interfaces y Prototipado (UI Design)
    • Sistemas de Diseño y DesignOps
    • Redacción UX (UX Writing)
    • Creatividad e Innovación en Diseño
    • Diseño Accesible e Inclusivo
    • Diseño Asistido por Inteligencia Artificial
    • Gestión de Producto y Liderazgo en Diseño
    • Diseño de Interacciones Emergentes (VUI/VR)
    • Desarrollo Web para Diseñadores
    • Diseño y Prototipado No-Code
  • Contenido Audiovisual
    • Fundamentos de Producción Audiovisual
    • Producción de Video para Plataformas Digitales
    • Producción de Audio y Podcast
    • Fotografía y Diseño Gráfico para Contenido Digital
    • Motion Graphics y Animación
    • Contenido Interactivo y Realidad Aumentada
    • Estrategia, Marketing y Monetización de Contenidos
  • Desarrollo Móvil
    • Fundamentos de Desarrollo Móvil
    • Desarrollo Nativo Android con Kotlin
    • Desarrollo Nativo iOS con Swift
    • Desarrollo Multiplataforma con React Native
    • Desarrollo Multiplataforma con Flutter
    • Arquitectura y Patrones de Diseño Móvil
    • Integración de APIs y Persistencia Móvil
    • Testing y Despliegue en Móvil
    • Diseño UX/UI para Móviles
  • Diseño Gráfico y Arte Digital
    • Fundamentos del Diseño Gráfico y Digital
    • Diseño de Identidad Visual y Branding
    • Ilustración Digital y Arte Conceptual
    • Diseño Editorial y de Empaques
    • Motion Graphics y Animación 3D
    • Diseño Gráfico Asistido por Inteligencia Artificial
    • Creatividad e Innovación en Diseño
  • Programación
    • Fundamentos de Programación e Ingeniería de Software
    • Herramientas de IA para el trabajo
    • Matemáticas para Programación
    • Programación con Python
    • Programación con JavaScript
    • Programación con TypeScript
    • Programación Orientada a Objetos con Java
    • Desarrollo con C# y .NET
    • Programación con PHP
    • Programación con Go y Rust
    • Programación Móvil con Swift y Kotlin
    • Programación con C y C++
    • Administración Básica de Servidores Linux
  • Negocios
    • Fundamentos de Negocios y Emprendimiento
    • Estrategia y Crecimiento Empresarial
    • Finanzas Personales y Corporativas
    • Inversión en Mercados Financieros
    • Ventas, CRM y Experiencia del Cliente
    • Operaciones, Logística y E-commerce
    • Gestión de Proyectos y Metodologías Ágiles
    • Aspectos Legales y Cumplimiento
    • Habilidades Directivas y Crecimiento Profesional
    • Diversidad e Inclusión en el Entorno Laboral
    • Herramientas Digitales y Automatización para Negocios
  • Blockchain y Web3
    • Fundamentos de Blockchain y Web3
    • Desarrollo de Smart Contracts y dApps
    • Finanzas Descentralizadas (DeFi)
    • NFTs y Economía de Creadores
    • Seguridad Blockchain
    • Ecosistemas Blockchain Alternativos (No-EVM)
    • Producto, Marketing y Legal en Web3
  • Recursos Humanos
    • Fundamentos y Cultura Organizacional en RRHH
    • Atracción y Selección de Talento
    • Cultura y Employee Experience
    • Gestión y Desarrollo de Talento
    • Desarrollo y Evaluación de Liderazgo
    • Diversidad, Equidad e Inclusión
    • AI y Automatización en Recursos Humanos
    • Tecnología y Automatización en RRHH
  • Finanzas e Inversiones
    • Fundamentos de Finanzas Personales y Corporativas
    • Análisis y Valoración Financiera
    • Inversión y Mercados de Capitales
    • Finanzas Descentralizadas (DeFi) y Criptoactivos
    • Finanzas y Estrategia para Startups
    • Inteligencia Artificial Aplicada a Finanzas
    • Domina Excel
    • Financial Analyst
    • Conseguir trabajo en Finanzas e Inversiones
  • Startups
    • Fundamentos y Validación de Ideas
    • Estrategia de Negocio y Product-Market Fit
    • Desarrollo de Producto y Operaciones Lean
    • Finanzas, Legal y Fundraising
    • Marketing, Ventas y Growth para Startups
    • Cultura, Talento y Liderazgo
    • Finanzas y Operaciones en Ecommerce
    • Startups Web3 y Blockchain
    • Startups con Impacto Social
    • Expansión y Ecosistema Startup
  • Cloud Computing y DevOps
    • Fundamentos de Cloud y DevOps
    • Administración de Servidores Linux
    • Contenerización y Orquestación
    • Infraestructura como Código (IaC) y CI/CD
    • Amazon Web Services
    • Microsoft Azure
    • Serverless y Observabilidad
    • Certificaciones Cloud (Preparación)
    • Plataforma Cloud GCP

Platzi y comunidad

  • Platzi Business
  • Live Classes
  • Lanzamientos
  • Executive Program
  • Trabaja con nosotros
  • Podcast

Recursos

  • Manual de Marca

Soporte

  • Preguntas Frecuentes
  • Contáctanos

Legal

  • Términos y Condiciones
  • Privacidad
  • Tyc promociones
Reconocimientos
Reconocimientos
Logo reconocimientoTop 40 Mejores EdTech del mundo · 2024
Logo reconocimientoPrimera Startup Latina admitida en YC · 2014
Logo reconocimientoPrimera Startup EdTech · 2018
Logo reconocimientoCEO Ganador Medalla por la Educación T4 & HP · 2024
Logo reconocimientoCEO Mejor Emprendedor del año · 2024
De LATAM conpara el mundo
YoutubeInstagramLinkedInTikTokFacebookX (Twitter)Threads

      Comentarios592

      Edward Toledo López

      Edward Toledo López

      Estudiante
      Hace 6 años
        damon steve valenciano

        damon steve valenciano

        Estudiante
        Hace 5 años
        David Amador Morales

        David Amador Morales

        Estudiante
        Hace 5 años
      Sebastian Calderón Araque

      Sebastian Calderón Araque

      Estudiante
      Hace 5 años
        guillermo sainz zarate

        guillermo sainz zarate

        Estudiante
        Hace 3 años
        Miguel Angel Reyes Moreno

        Miguel Angel Reyes Moreno

        Estudiante
        Hace un año
      Antonio Demarco Bonino

      Antonio Demarco Bonino

      Estudiante
      Hace 6 años
        Cristian Zerpa

        Cristian Zerpa

        Estudiante
        Hace 3 años
      ESNEIDER ALBERTO BARRERA JARAMILLO

      ESNEIDER ALBERTO BARRERA JARAMILLO

      Estudiante
      Hace 6 años
        Manuel Espitia

        Manuel Espitia

        Estudiante
        Hace 5 años
        Jorge Mario Herrera Idarraga

        Jorge Mario Herrera Idarraga

        Estudiante
        Hace 4 años
      Humberto Adrián Hernández Maldonado

      Humberto Adrián Hernández Maldonado

      Estudiante
      Hace 6 años
        José Roberto Flores Flores

        José Roberto Flores Flores

        Estudiante
        Hace 6 años
        Anthony Guzman Lopez

        Anthony Guzman Lopez

        Estudiante
        Hace 6 años
      luis felipe castro calderón

      luis felipe castro calderón

      Estudiante
      Hace 5 años
        Salvador Carrasco Arellano

        Salvador Carrasco Arellano

        Estudiante
        Hace 4 años
        Carolina Tobaria

        Carolina Tobaria

        Estudiante
        Hace 4 años
      Henry Mendiburu Díaz

      Henry Mendiburu Díaz

      Estudiante
      Hace 5 años
        Manuel Espitia

        Manuel Espitia

        Estudiante
        Hace 5 años
        Juan Diego Vélez Betancourth

        Juan Diego Vélez Betancourth

        Estudiante
        Hace un año
      Edwin San

      Edwin San

      Estudiante
      Hace 4 años
        Andrea Natalia Bayona Moreno

        Andrea Natalia Bayona Moreno

        Estudiante
        Hace 3 años
        Ricard Soler Solà

        Ricard Soler Solà

        Estudiante
        Hace 2 años
      Wilson Delgado

      Wilson Delgado

      Estudiante
      Hace 6 años
        Diego Forero

        Diego Forero

        Team Platzi
        Hace 6 años
        Danilo Hernandez

        Danilo Hernandez

        Estudiante
        Hace 6 años
      Jorge Eduardo Figueroa Melendez

      Jorge Eduardo Figueroa Melendez

      Estudiante
      Hace 6 años
      Axel Yaguana

      Axel Yaguana

      Team Platzi
      Hace 5 años
      Nairo Cuadrado

      Nairo Cuadrado

      Estudiante
      Hace 6 años
      Luis Enrique Vigil Santillan

      Luis Enrique Vigil Santillan

      Estudiante
      Hace 6 años
      Iván Godoy

      Iván Godoy

      Estudiante
      Hace 6 años
        Miguel Torres

        Miguel Torres

        Estudiante
        Hace 6 años
      Ronny Jair Mora Rojas

      Ronny Jair Mora Rojas

      Estudiante
      Hace 4 años
        Carlos S. Aldazosa

        Carlos S. Aldazosa

        Estudiante
        Hace 4 años
      LIZBET ESTEFANY CASANA VERASTEGUI

      LIZBET ESTEFANY CASANA VERASTEGUI

      Estudiante
      Hace 5 años
        Carlos Daniel Dávila Maldonado

        Carlos Daniel Dávila Maldonado

        Estudiante
        Hace 5 años
        Joel Sierra Mendoza

        Joel Sierra Mendoza

        Estudiante
        Hace 4 años
      Wilford Giuseppe Camargo Quesada

      Wilford Giuseppe Camargo Quesada

      Estudiante
      Hace 5 años
        Sergio Mauricio Tellez Reyes

        Sergio Mauricio Tellez Reyes

        Estudiante
        Hace 3 años
      Manuel Espitia

      Manuel Espitia

      Estudiante
      Hace 5 años
        ignacio.velasquez

        ignacio.velasquez

        Estudiante
        Hace 5 años
      Francisco José Barceló Saavedra

      Francisco José Barceló Saavedra

      Estudiante
      Hace 2 años
      luis felipe castro calderón

      luis felipe castro calderón

      Estudiante
      Hace 5 años
        Raul Burbano

        Raul Burbano

        Estudiante
        Hace 4 años

      Estas fueron todas las que se me ocurrieron. Y eso que antes le tenía un mieeedo a SQL. Ahora lo veo tan simple y hermoso

      SELECT * FROM platzi.alumnos AS alumnos FETCH FIRST 5 ROWS ONLY; SELECT * FROM platzi.alumnos LIMIT 5; SELECT * FROM ( SELECT ROW_NUMBER () OVER() AS row_id, * FROM platzi.alumnos )AS alumnos_with_row_nums WHERE row_id < 6 ; SELECT * FROM ( SELECT ROW_NUMBER () OVER() AS row_id, * FROM platzi.alumnos )AS alumnos_with_row_nums WHERE row_id <=5 ; SELECT * FROM ( SELECT ROW_NUMBER () OVER() AS row_id, * FROM platzi.alumnos )AS alumnos_with_row_nums WHERE row_id BETWEEN 1 and 5 ;

      cuanto tienes de estudiar sql? yo siento que no avanzo

      Muy buen aporte, justo fueron los que pensé, gracias, Edward.

      Me parece que complicó DEMASIADO las cosas. Por qué incluir Window Functions en las primeras consultas del curso? No veo la necesidad de complicar tanto ese último query para el tema que se está explicando.

      El punto bueno de esto es que lo investigué por otro lado y ya lo tengo claro. Yo lo veo como un reto, pero para alguien con poco conocimiento de SQL se puede enredar y desmotivar un montón.

      Estoy de acuerdo, investige la window fuctions al final del curso, no son nada del otro mundo, pero realmente para alguien que va iniciando puede llegar a ser desmotivante

      Jaja sí fue algo inesperado, pero no es nada de otro mundo, qué bueno que investigaste.

      Resolución del RETO Primera forma:

      01_FORMA.jpg

      Segunda forma:

      02_FORMA.jpg

      Tercera forma:

      03_FORMA.jpg

      Precioso código.

      SELECT * FROM platzi.alumnos FETCH FIRST 5 ROWS ONLY; SELECT * FROM platzi.alumnos LIMIT 5; SELECT * FROM ( SELECT ROW_NUMBER() OVER() AS row_id,* FROM platzi.alumnos -- row funcion ) AS alumnos_with_row_num WHERE row_id <= 5;

      Muy buena tu solución del reto! Felicitaciones. Una pregunta, cómo haces para que el código te salga en un formato diferente al texto?

      Hola Manuel, cuando estes haciendo el aporte aparece el siguiente simbolo en la barra de herramientas del comentario </> lo que escribas dentro de esas lineas que te salen al dar click en ese simbolo te sale como codigo, en la misma barra te sale la palabra preview, te recomiendo que des click ahi ya que te permite previsualizar el aporte antes de publicarlo...

      Saludos,

      Ejercicio 1.png

      Estás utilizando MS SQL SMS, verdad? Para visualizarlo así, es solo customizar los ajustes visuales o tienes instalado algo?

      Aprovechando. Me urge un shortcut para correr la sentencia en donde se encuentra el cursor, sin tener que seleccionar. Como el F9 en TOAD

      Saludos

      Jose Roberto Flores lo que uso Humberto es sql server management studio

      Para todas aquellas personas que están usando mysql el * debe estar después de select así: SELECT * FROM ( SELECT * , row_number() over() as row_id FROM platzi.alumnos ) AS alumnos_with_row_num WHERE row_id = 4 ;

      imporante separar con la coma para definir la función row_id y finalmente buscarla la 4 columna

      Gracias por este aporte, me sacaste de mi duda

      gracias

      Sugerencia: para agregar comentarios utilizar guion guion -- Comentarios

      Muy buena tu solución del reto! Felicitaciones. Una pregunta, cómo haces para que el código te salga en un formato diferente al texto?

      El guión solo te servirá para esa línea y cada vez que tengas un parráfo, deberás poner guión en cada salto. Mejor usa /* aquí viene el texto, independiete de las línas que tengas*/

      Una página para practicar SQL de manera didáctica es: https://mystery.knightlab.com

      <100/100 lo resolví completo>

      Muy divertido la verdad! Me ha gustado mucho!

      Yo uso MySQL con el Workbench, ¿Alguna otra recomendación o Cuál usan ustedes?

      Yo uso Datagrip de Jetbrains y he visto también este https://dbeaver.io/

      Te recomiendo:

      • HeidiSQL

      DataGrip es el mejor porque es un IDE y por lo tanto tiene sugerencias en los JOINS por ejemplo y también autocompletado en nombre de tablas y columnas. DataGrip es de pago pero si tienes una cuenta de correo de universidad por ejemplo se puede adquirir una licencia gratuita.

      https://www.jetbrains.com/shop/eform/students

      Ahora_si_se_viene_lo_chido.jpg

      Extrayendo los primeros 5 registros de la tabla

      Usando FETCH

      SELECT * FROM platzi.alumnos FETCH FIRST 5 ROWS ONLY;

      Usando LIMIT

      SELECT * FROM platzi.alumnos LIMIT 5;

      Window Function

      SELECT * FROM ( SELECT ROW_NUMBER() OVER() AS row_id, * FROM platzi.alumnos ) AS alumnos_with_row_id FETCH FIRST 5 ROWS ONLY

      Buenas noches, este es mi aporte para solucionar el ejercicio.

      SELECT * FROM alumnos WHERE id >= 1 and id < 6; SELECT * FROM alumnos WHERE id between 1 and 5; SELECT TOP (5) * FROM alumnos ORDER BY id; SELECT * FROM alumnos ORDER BY id OFFSET 0 ROWS FETCH NEXT 5 ROWS ONLY;```
      Captura 2 .PNG

      limit = top en SQL server

      ¿Que diferencia tiene usar fetch y limit? ¿Para qué se agrega FIRST después del FETCH?

      Hola, @Ivngodoy. :D

      FETCH es una alternativa a LIMIT en el SELECT con una diferencia importante en cómo se ejecuta el query.

      Con LIMIT solamente se puede asignar una cantidad total de resultados, pero con FETCH puedes establecer un OFFSET (un punto de partida) e indicar de cuántas filas quieres resultados a partir de ahí. Por ejemplo:

      SELECT c1, c2 FROM empleados OFFSET 50 ROWS FETCH NEXT 25 ROWS ONLY

      Hay algo que me molesta en los cursos y es cuando dicen "lo vamos a ver más adelante" pero aún así lo usan </3 Eso es un poco molesto porque algunos vamos muy paso a paso, pensando (en este caso) solo en el LIMIT, pues fue lo que se vió en clases :/ ¿A alguien más le pasa? ¿Cómo lidian con esas cosas? Gracias de antemano

      Hay dos opciones.

      1. ver que eso que "se vera mas adelante" como un pequeño spoiler de lo que viene el curso, saber de su existencia y esperar la clase en la que se explica.
      2. Ver ese tema e investigar por tu cuenta y cuando se llegue al curso donde se explica eso ya llegaras con mejores bases. . . Ten paciencia no tienes que comprender todos los conceptos a la primera ni aprender por fuerza los que veras mas adelante.

      siempre va ser FETCH FIRST ? no puede comenzar del segundo u otro orden así como offset con limit?

      Hola liz Para hacer lo que tu dices, se usa OFFSET n, que saca n rows te dejo un ejemplo para que lo practiques

      SELECT * FROM (SELECT ROW_NUMBER() OVER() AS row_id, * FROM platzi.alumnos ) AS alumnos_with_row_num OFFSET 5 ROWS FETCH NEXT 10 ROWS ONLY ;

      saludos

      FETCH FIRST lo podríamos traducir como "traer primero" y se escribe luego el número de filas que desees que muestre. En español sería como:

      TRAER PRIMERO 5 FILAS SOLAMENTE

      No he podido usar PGadmin por el siguiente error

      ![](

      Captura de Pantalla 2021-09-06 a la(s) 8.35.22 p. m..png

      Estoy usando Workbench, pero no entiendo porque no puedo hacer todo. Al ser código no tendría que ser universal?

      Hay diferencias en MySQL y PGadmin. A mi también me paso lo mismo, para ello debes consultar en internet las semejanzas que tienen los queris de ambos programas

      No sé que es OVER ni partition_by, no lo vi en ningún curso anterior :(

      Hola, Over es una clausula que reciben las funciones analiticas que funcionan con la metodología de ventana corrediza. En esta clausula admiten parámetros de análisis que funcionaran sobre el set de resultados de la select aplicando las condiciones del where. Se les llama analíticas porque "analizan" el set de resultados de acuerdo con los criterios que se indiquen en la clausula OVER.

      Dentro de la misma clausua OVER() puedes entonces poner algunos parametros como: PARTITION BY, ORDER BY y dependiendo de la funcion tienes tambien ROWS BETWEEN) Estos parámetros harán referencia al set de resultados y al cómo se analizarán los resultados de este set.

      Partition by: Hará referencia a con qué criterio de agupacion será ejecutada la función sobre el set de datos general. Básicamente es qué expresiones (o campos) deben aplicarse como criterio de agrupamiento sobre set de resultados de la consulta, para ejecutar la funcion por cada grupo resultante siendo las expresiones/columnas que se especifiquen en este parámetro el criterio de agrupación para la funcion. (Parecido a un group by, pero al vuelo y que aplica solo para el análisis del resultado de la funcion ;) )

      ORDER BY: Hace referencia a con qué criterio (o expresiones, que pueden ser las mismas columnas) serán ordenados los datos del subconjunto dado por el partition by para ejecutar la funcion analítica.

      ROWS BETWEEN: Hace referencia qué registros serán tenidos en cuenta por la funcion analítica. Pueden encontrarse algunos valores como: ++UNBOUNDED PRECEDING++, que hace referencia a "deede la primer fila de resultados", ++CURRENT ROW++: Quye indicará la fila actual, ++UNBOUNDED FOLLOWING++ que indicará hasta el final de los resultados. Justamente por este opción de ROWS BETWEEN Es que se les denomina de ventana corrediza.

      por ejemplo:

      SELECT col1, col2, col2, SUM(campo3) OVER(++PARTITION BY++ col1 ++ORDER BY++ col2 asc ++ROWS BETWEEN++ UNBOUNDED PRECEDING AND CURRENT ROW) from tabla where condiciones_sobre_registros

      En este ejemplo, supón que tienes un set de resultados de 3 columnas (col1, col2, col3) y varias filas, lo que hará es sumar los valores col3, por cada valor en col1 (a causa del partition by) , para todos los elemementos resultantes de una select desde el inicio del set hasta la fila actual (a causa del ROWS BETWEEN), ordenando las filas por el valor de col2 como criterio de manera ascendente (esto es por el ORDER BY)

      No debes confundirte con el ORDER BY, aunque hay un ORDER BY en el OVER(), es de aclarar que este ORDER BY no afectará directamenete al orden en que se presentan los datos resultantes del query sino que en este caso, afectará al cómo se analizan los datos para calcular el valor de la función por cada registro ;) .

      Saludos.

      Donde está la lectura previa???

      para mysql me aparece un error cuando utilizo el * después de AS row_id

      SELECT * FROM ( SELECT ROW_NUMBER() OVER() AS row_id,* FROM platzi.alumnos ) AS alumnos_with_row_num WHERE row_id = 3 ; me dice que es un error en la syntaxis ¿Alguien sabe que puede ser?

      la sintaxis entre mysql y posgressql es diferente en algunas cosas.