Bienvenida conceptos básicos y contexto histórico de las Bases de Datos

1

Bienvenida conceptos básicos y contexto histórico de las Bases de Datos

2

Playground: tu primera consulta en bases de datos

Introducción a las bases de datos relacionales

3

Historia de las bases de datos relacionales

4

Qué son entidades y atributos

5

Entidades de Platzi Blog

6

Relaciones

7

Múltiples muchos

8

Diagrama ER

9

Diagrama Físico: tipos de datos y constraints

10

Diagrama Físico: normalización

11

Formas normales en Bases de Datos relacionales

12

Diagrama Físico: normalizando Platziblog

RDBMS (MySQL) o cómo hacer lo anterior de manera práctica

13

¿Qué es RDB y RDBMS?

14

Instalación local de un RDBMS (Windows)

15

Instalación local de un RDBMS (Mac)

16

Instalación local de un RDBMS (Ubuntu)

17

Clientes gráficos

18

Servicios administrados

SQL hasta en la sopa

19

Historia de SQL

20

DDL create

21

Playground: CREATE TABLE

22

CREATE VIEW y DDL ALTER

23

DDL drop

24

Playground: VIEW, ALTER y DROP en SQL

25

DML

26

Playground: CRUD con SQL

27

¿Qué tan standard es SQL?

28

Creando Platziblog: tablas independientes

29

Creando Platziblog: tablas dependientes

30

Creando Platziblog: tablas transitivas

Consultas a una base de datos

31

¿Por qué las consultas son tan importantes?

32

Estructura básica de un Query

33

SELECT

34

Playground: SELECT en SQL

35

FROM y SQL JOINs

36

Utilizando la sentencia FROM

37

Playground: FROM y LEFT JOIN en SQL

38

WHERE

39

Utilizando la sentencia WHERE nulo y no nulo

40

Playground: Filtrando Datos con WHERE

41

GROUP BY

42

ORDER BY y HAVING

43

Playground: Agrupamiento y Ordenamiento de Datos

44

El interminable agujero de conejo (Nested queries)

45

¿Cómo convertir una pregunta en un query SQL?

46

Preguntándole a la base de datos

47

Consultando PlatziBlog

48

Playground: Prueba Final con PlatziBlog

Introducción a la bases de datos NO relacionales

49

¿Qué son y cuáles son los tipos de bases de datos no relacionales?

50

Servicios administrados y jerarquía de datos

Manejo de modelos de datos en bases de datos no relacionales

51

Top level collection con Firebase

52

Creando y borrando documentos en Firestore

53

Colecciones vs subcolecciones

54

Recreando Platziblog

55

Construyendo Platziblog en Firestore

56

Proyecto final: transformando tu proyecto en una db no relacional

Bases de datos en la vida real

57

Bases de datos en la vida real

58

Big Data

59

Data warehouse

60

Data mining

61

ETL

62

Business intelligence

63

Machine Learning

64

Data Science

65

¿Por qué aprender bases de datos hoy?

Bonus

66

Bases de datos relacionales vs no relacionales

67

Elegir una base de datos

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

¿Cómo convertir una pregunta en un query SQL?

45/67
Recursos

De pregunta a Query

  • SELECT: Lo que quieres mostrar
  • FROM: De dónde voy a tomar los datos
  • WHERE: Los filtros de los datos que quieres mostrar
  • GROUP BY: Los rubros por los que me interesa agrupar la información
  • ORDER BY: El orden en que quiero presentar mi información
  • HAVING: Los filtros que quiero que mis datos agrupados tengan

Aportes 188

Preguntas 7

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Sumado a la clase, propongo lo siguiente
LIMIT: La cantidad de registros que quiero

Quiero obtener todos los post creados por edgar@com

  • SELECT: Lo que quieres mostrar
    • Nickname
    • Titulo del post
  • FROM: De dónde voy a tomar los datos
    • Tabla usuarios y post
  • WHERE: Los filtros de los datos que quieres mostrar
    • Deben de ser de edgar@com
  • GROUP BY: Los rubros por los que me interesa agrupar la información
    • No deseo agrupar
  • ORDER BY: El orden en que quiero presentar mi información
    • por fecha de publicación
  • HAVING: Los filtros que quiero que mis datos agrupados tengan

SELECT u.nickname, p.titulo FROM usuarios u inner join posts p ON u.id=p.usuario_id where u.email="edgar@com" ORDER BY p.fecha_publicacion;

Muy buena información para tener en cuenta al momento de realizar nuestros quieries. Acá está la base de todo.

Igualmente me gustaría agregar lo siguiente:

  • WHERE utiliza las propiedades:
    –> LIKE, nos ayuda a filtrar los registros cuando solo conocemos una parte de la información.
    –> BETWEEN, nos ayuda a filtrar registros que estén entre un rango.

    También debemos de tener en cuenta que si la condición es numérica se escribe sin comillas simples de lo contrario la condición se debe escribir dentro de comillas simples, Ej: ‘Texto’.
  • ORDER BY utiliza los siguientes criterios:
    –> ASC. Ordena de forma ascendente.
    –> DESC. Ordena de forma descendente
    –> LIMIT. Limita la cantidad de resultados para mostrar en el query, Ej: Mostrar los 5 primeros registros.
    '
    También se pueden hacer NESTED QUERIES (Consultas o Queries Anidados), esto significa que podemos hacer un query dentro de otro query.

Lo que dijo el profe con algo mas si les sirve 😄

Esta clase debió llamarse: “inglés básico para SQL”, jeje

Muy buen resumen. Me parece muy bien este tipo de clases donde se haga un repaso breve de ciertos conceptos, esto ayuda como método de estudio y aclara dudas.
Muchas gracias!!!

Una recomendación por experiencia con volúmenes transaccionales altos; evitar en lo posible usar un ORDER BY dentro de la consulta en el motor de Base de Datos y dejarlo del lado del cliente o de la aplicación, ésta es una de las operaciones que más consume recursos en una consulta.

Es muy importante que en todos los cursos de “Fundamentos” se discuta y se haga regla de oro “Las buenas prácticas”.

Recomiendo a cada compañero de clase, buscar siempre las buenas prácticas en cada tema que vayan cursando.

Principalmente me considero FrontendDev pero este tema de DB está

I N C R E I B L E !

Algo que había estado esperando y que me tenía un poco confundido hasta este punto, es como hacer consultas que involucran tablas cuya conexión es una tabla pivote. En el ejemplo es el caso de posts con etiquetas. La respuesta fácil sería hacer un nested query que vimos en la clase anterior a esta, pero descubrí que es más fácil hacer un doble inner join y evitamos el problema de la escalabilidad que mencionó Israel en la clase de los nested querys.

SELECT nombre_usuario, usuarios_domicilios.domicilio_id, domicilios.calle_domicilio
FROM usuarios
INNER JOIN usuarios_domicilios ON usuarios_domicilios.usuario_id = usuarios.id
INNER JOIN domicilios ON usuarios_domicilios.domicilio_id = domicilios.id
GROUP BY nombre_usuario, domicilio_id; 

Ese es el ejemplo de mi proyecto, en donde la relación entré usuarios y domicilios es N:N, por lo que existe la tabla usuarios_domicilios, en donde están los registros de los diferentes domicilios que puede tener cada usuario, y los diferentes usuarios a los que puede estar asociado un domicilio.

Con ese Inner Join doble, puedo mostrar la cantidad de domicilios diferentes que tiene cada usuario con al menos un domicilio registrado, agrupados.

SELECT nombre_usuario, COUNT(usuarios_domicilios.domicilio_id) AS total_domicilios
FROM usuarios
INNER JOIN usuarios_domicilios ON usuarios_domicilios.usuario_id = usuarios.id
INNER JOIN domicilios ON usuarios_domicilios.domicilio_id = domicilios.id
GROUP BY nombre_usuario;

Además también puedes usarlo para sacar cuentas totales, en este caso, el numero de domicilios por usuario.

Estupenda clase, para resumir, debemos estructurar las preguntas que queremos hacer a la base de datos en 6 partes que dependerás de cada uno de los segmentos de una consulta, es decir, fragmentamos la pregunta inicial en otras 6 preguntas. Acá comparto una estructura similar que estaba realizando en el curso para las partes principales de las consultas:

  1. SELECT: ¿Qué datos quiere ver?
  2. FROM: ¿A qué tabla pertenecen?
  3. WHERE: ¿Qué condiciones deben cumplir?
  4. GROUP BY ¿Cómo quieres agrupar los datos?
  5. ORDER BY ¿Cómo quieres organizar los datos?
  6. HAVING: ¿Qué condiciones deben cumplir las agrupaciones?

Tabla para transformar una pregunta en un query.

Pregunta Query
¿Qué queremos mostrar? SELECT
¿De donde los vamos a sacar? FROM
¿Qué filtros voy a usar? WHERE
¿Cómo lo necesito agrupar? GROUP BY
¿Necesito filtrar datos agregados? HAVING

Algo importante que hay que recordar es que having va despues de Group by, y antes de Order By

31. Mis apuntes sobre: “¿Cómo convertir una pregunta en una query SQL?”

De pregunta a Query

  • Lo que quieres mostrar = SELECT.
  • De dónde voy a tomar los datos = FROM.
  • Los filtros de los datos que quieres mostrar = WHERE.
  • Los rubros por los que me interesa agrupar la información = GROUP BY.
  • El orden en que quiero presentar mi información = ORDER BY.
  • Los filtros que quiero que mis datos agrupados tengan = HAVING (usar en vez de WHERE cuando se usa GROUP BY).

Las preguntas ayudan mucho que buena clase.

  • SELECT: Lo que quieres mostrar
  • FROM: De dónde voy a tomar los datos
  • WHERE: Los filtros de los datos que quieres mostrar. Utiliza las propiedades de:
    • LIKE ➡️ Nos ayuda a filtrar los registros cuando solo conocemos una parte de la información.

    • BETWEEN➡️ Nos ayuda a filtrar registros que estén entre un rango.

      También debemos de tener en cuenta que si la condición es numérica se escribe sin comillas simples de lo contrario la condición se debe escribir dentro de comillas simples, Ej: ‘Texto’.

  • GROUP BY: Los rubros por los que me interesa agrupar la información
  • HAVING: Los filtros que quiero que mis datos agrupados tengan (va después del GROUP BY)
  • ORDER BY: El orden en que quiero presentar mi información. Utiliza las siguientes propiedades:
    • ASC ➡️ Ordena de forma ascendente.
    • DESC ➡️ Ordena de forma descendente
    • LIMIT ➡️ Limita la cantidad de resultados para mostrar en el query. Ej: Mostrar los 5 primeros registros.
  • LIMIT: La cantidad de registros que quiero
  • También se pueden hacer NESTED QUERIES (Consultas o Queries Anidados), esto significa que podemos hacer un query dentro de otro query.

Adjunto un pequeño resumen de mis apuntes en general:

Como convertir una pregunta en un query SQL

Lo que quieres mostrar = SELECT

De donde voy a tomar los datos = FROM

Los filtros de los datos que quieres mostrar = WHERE

Los rubros por los que me interesa agrupar la informacion = GROUP BY

El orden en que quiero presentar mi informacion ORDER BY

Los filtros que quiero que mis datos agrupados tengan HAVING

Sería interesante un sistema que traduzca preguntas a consultas de bases de datos.

Para cuando les preguntan por el maximo, minimo de algo, les aconsejo utilizar la sentencia Order By conjunto con Limit 1, debido a que eso disminuye la carga al motor de la base de datos, en contraste a usar una query anidada como se vio en la clase anterior

Estoy viendo que hay una tendencia en todos los cursos que he tomando de poner clases súper interesantes y “básicas” que bien podrían ir al inicio del curso. NO ES QUEJA, mas bien he pensado que estas clases nos ayudan a cerrar y retroalimentar todo lo aprendido. ❤️ ustedes que piensan comunidad?

mi gustó el resumen, excelente… Gracias.

ESta clase si me clara la forma de hacer los reportes, y el uso del having, porque no me habia quedado claro su uso

En argentina le decimos “Machete”

Excelente la clase !!!

Apuntes:
A la hora de traducir preguntas que surgen de nosotros mismos u otras personas que necesitan ver en una base de datos, es necesario tener en cuenta todas las sentencias básicas de un query asi como también las sentencias adicionales. Lo primero que debemos tener en cuenta son los atributos que nos piden mostrar en la consulta, luego la tabla de la que viene, seguido del respectivo filtro en WHERE o HAVING, dependiendo si la consulta es mas compleja y nos piden mostrar la informacion de manera agrupada y/o ordenada.

Todas las clases han sido super importantes, pero esta te da un punto de vista fascinante cuando hasta ahora estas empezando a hacer queries.

Afortunadamente la construcción de Querys es bastante similar al lenguaje natural en ingles, es cuestión de hacerse bien las preguntas al momento de iniciar una investigación, y de aprender ingles, que importante es aprender ingles para programar! :0

De pregunta a Query

SELECT: Lo que quieres mostrar
FROM: De dónde voy a tomar los datos
WHERE: Los filtros de los datos que quieres mostrar
GROUP BY: Los rubros por los que me interesa agrupar la información
ORDER BY: El orden en que quiero presentar mi información
HAVING: Los filtros que quiero que mis datos agrupados tengan

Resumen:
Que quieres mostrar = SELECT
De donde voy a tomar los datos = FROM
Filtros de lo datos que quieres mostrar = WHERE
Rubros por los que me interesa agrupar la info= GROUP BY
Orden en que quiero mi info= ORDER BY
Filtros que quiero que mis datos agrupados tengan = HAVING

Se nota como disfruta esto de base de datos! uff pasion! me provoca querer saber mas de BD!
1 - SELECT se trata de a lo que queremos mostrar : pueden ser columnas, campos dinamicos, es donde lo que vamos a mostrar en cuanto a columnas / datos!

2 - FROM de una tabla , necesito una tabla o dos?, combinarlas!

3 -WHERE filtramos informacion

4 - GROUP BY agrupamos por algun tipo de criterio para sacar conteo sumas depende

5 - ORDER BY si ya tengo sumas etc resuelto puedo sacar el LIMIT! Top ten los primero 10 o los ortimos 10!

6 - HAVING cuando queremos filtrar datos que ya sumaste en algun grupo nos ayuda a referenciar y filtrar esos grupos para que tengasn sentido!

Entendido y clarisimo!!!

La palabra clave **DISTINCT **garantiza que solo se devuelvan valores únicos, es decir, se omiten los valores duplicados.

SELECT DISTINCT Country FROM Customers;

Importante entender que quiere el negocio y analizarlo antes de ponerse a escribir sql.

Esta clase es para tomar nota 📝

Un pequeño cheat-sheet que me ha ayudado bastante:

SELECT * FROM table;
SELECT * FROM table1, table2;
SELECT field1, field2 FROM table1, table2;
SELECT ... FROM ... WHERE condition
SELECT ... FROM ... WHERE condition GROUPBY field;
SELECT ... FROM ... WHERE condition GROUPBY field HAVING condition2;
SELECT ... FROM ... WHERE condition ORDER BY field1, field2;
SELECT ... FROM ... WHERE condition ORDER BY field1, field2 DESC;
SELECT ... FROM ... WHERE condition LIMIT 10;
SELECT DISTINCT field1 FROM ...
SELECT DISTINCT field1, field2 FROM ...

Condicionales:

field1 = value1
field1 <> value1
field1 LIKE 'value _ %'
field1 IS NULL
field1 IS NOT NULL
field1 IS IN (value1, value2)
field1 IS NOT IN (value1, value2)
condition1 AND condition2
condition1 OR condition2

Qué bueno que haya un resumen, excelente.

Ya sabemos como convertir Preguntas en Queries, vamos con todo a resolver Preguntas.

Alguna de las notas que rescaté de los comentarios que me parecieron muy importantes

Las consultas de selección se utilizan para indicar al motor de datos que devuelva información de las bases de datos, esta información es devuelta en forma de conjunto de registros. Este conjunto de registros es modificable.

buena la clase ,para oracle tambien sirve creo?

¿Cómo transformar una pregunta en un query?

De pregunta a Query:

  • SELECT: Lo que quieres mostrar
  • FROM: De dónde voy a tomar los datos
  • WHERE: Los filtros de los datos que quieres mostrar
  • GROUP BY: Los rubros por los que me interesa agrupar la información
  • ORDER BY: El orden en que quiero presentar mi información (Tambien nos sirva para tener los 5 primeros o este tipo de tops)
  • HAVING: Los filtros que quiero que mis datos agrupados tengan

En esta diapositiva creo que HAVING deberia estar en medio de GROUP BY y ORDER BY

  • SELECT, lo que se quiere mostrar.
  • FROM, origen de datos.
  • WHERE, filtros de datos.
  • GROUP BY, para agrupar la información.
  • ORDER BY, Orden en que se presenta la información.
  • HAVING, filtros que requieren los datos agrupados.

un buen ejemplo seria decir en formas de sentencias la respuesta a la pregunta que queremos responder aquie quiero responder la pregunta cuales son los torneos mas importantes de deportes deporte que se practican con balon y cuando se realizan dichos torneos :

SELECCIONA toda la informacion
EN la tabla de deportes
FILTRA las fechas y los torneos mas importantes
AGRUPA los deporte que se practican con balon
y ORDENA de manera asendente las fechas de los torneos

SELECT *
FROM tabla_deportes_del mundo AS Deportes 
WHERE date, torneos 
GROUP BY  deportes_con_balon
ORDER BY  date ASC

¿Cómo convertir una pregunta en un query SQL?

  • SELECT: Lo que quieres mostrar:
    que informacion quiero mostrar, ¿toda?, una parte

  • FROM: De dónde voy a tomar los datos
    en que tabla están estos datos

  • WHERE: Los filtros de los datos que quieres mostrar
    ¿Que me interesa?, la fecha, la hora, el mes, la cantidad ,etc

  • GROUP BY: Los rubros por los que me interesa agrupar la información
    que datos voy a agrupar,

  • ORDER BY: El orden en que quiero presentar mi información
    en que orden lo quiero Acendente o decendente

  • HAVING: Los filtros que quiero que mis datos agrupados tengan
    en mis grupos que me interesa, una fecha un resultado,etc

De pregunta a Query

SELECT: Lo que quieres mostrar
FROM: De dónde voy a tomar los datos
WHERE: Los filtros de los datos que quieres mostrar
GROUP BY: Los rubros por los que me interesa agrupar la información
ORDER BY: El orden en que quiero presentar mi información
HAVING: Los filtros que quiero que mis datos agrupados tengan

La sentencia HAVING va siempre despues de la sentencia GROUP BY

Este curso vale oro. Es como un recordatorio de cada sentencia y a la vez una manera de poder recordarla mas fácil, y por supuesto, nos enseña a como poder empezar a proponer una respuesta a esas preguntas que se puedan generar…

que resumen tan bueno, con esto aclare las ultimas 10 clases para que fueron

Excelente resumen!!!

Resumen: Que quieres mostrar = SELECT De donde voy a tomar los datos = FROM Filtros de lo datos que quieres mostrar = WHERE Rubros por los que me interesa agrupar la info= GROUP BY Orden en que quiero mi info= ORDER BY Filtros que quiero que mis datos agrupados tengan = HAVING

Nunca habia tenido unos apuntes asi!

Gracias por cerrar este excelente tema de la mejor forma.

Un resumen corto, pero gran aporte

La expertiz se logrará con la práctica pero con estas pautas se hace mas facil su aplicacion

SELECT nombre_campo
FROM nombre_tabla
WHERE nombre_campo (condicional =, <, >, < >) valor XYZ
GROUP BY nombre_campo
ORDER BY nombre_campo;

Convertir una pregunta en un query SQL es un proceso esencial en el análisis de datos, que te permite extraer información relevante de tus bases de datos. Vamos a desglosar cómo puedes traducir una pregunta común en una consulta SQL, utilizando las cláusulas SELECT, FROM, WHERE, GROUP BY, ORDER BY, y HAVING.

Ejemplo Práctico

Pregunta: ¿Cuál es el salario promedio de los empleados en cada departamento de mi empresa, y quiero que solo se muestren aquellos departamentos con un salario promedio superior a $50,000, ordenados de mayor a menor salario promedio?

Descomposición de la Pregunta

  1. Lo que quieres mostrar: Salario promedio de los empleados.
    • SQL: Esto se traduce en el uso de SELECT junto con una función de agregación, AVG, para calcular el salario promedio.
  2. De dónde voy a tomar los datos: De una tabla que contiene información de los empleados y sus departamentos.
    • SQL: Se especifica en la cláusula FROM.
  3. Los filtros de los datos que quieres mostrar: No se mencionan filtros específicos de empleados o departamentos, pero se indica un criterio de filtro para el resultado agregado.
    • SQL: Esto normalmente implicaría WHERE, pero como el filtro se aplica al resultado de una agregación, utilizaremos HAVING.
  4. Los rubros por los que me interesa agrupar la información: Por cada departamento.
    • SQL: Esto corresponde a la cláusula GROUP BY.
  5. El orden en que quiero presentar mi información: Departamentos ordenados por su salario promedio de mayor a menor.
    • SQL: Esto se especifica en ORDER BY.
  6. Los filtros que quiero que mis datos agrupados tengan: Solo departamentos con un salario promedio superior a $50,000.
    • SQL: Esto se maneja con HAVING.

Query SQL

Basándonos en la descomposición anterior, el query SQL resultante sería algo como esto:

SELECT departamento, AVG(salario) AS salario_promedio
FROM empleados
GROUP BY departamento
HAVING AVG(salario) > 50000
ORDER BY AVG(salario) DESC;

Explicación del Query

  • SELECT departamento, AVG(salario) AS salario_promedio: Seleccionamos el nombre del departamento y calculamos el salario promedio, dándole un alias salario_promedio para mayor claridad en los resultados.
  • FROM empleados: Indicamos que los datos se tomarán de la tabla empleados.
  • GROUP BY departamento: Agrupamos los resultados por el campo departamento para calcular el salario promedio dentro de cada departamento.
  • HAVING AVG(salario) > 50000: Filtramos los grupos (en este caso, departamentos) para incluir solo aquellos con un salario promedio superior a $50,000.
  • ORDER BY AVG(salario) DESC: Ordenamos los resultados de forma descendente según el salario promedio para mostrar primero los departamentos con los salarios promedio más altos.

Este proceso de descomposición y construcción del query SQL te permite traducir preguntas de negocio o análisis en consultas concretas que pueden ejecutarse contra una base de datos, facilitando la extracción de insights valiosos y respuestas específicas a tus preguntas.

Deberian poner conteo de like en las clases.
❤️ excelente clase

Que curso tan simplemente increíble!💚

Se nota que le gustan los relojes al profesor jaja, en varias clases ha usado relojes diferentes muy bonitos 😃

Excelente síntesis, muy bueno ser ordenado y analizar

Maravillosa clase, aclaró muchas dudas que tenía… 👍

Un muy buen resumen para poder entender más el uso de estas sentencias.

buena sintesis

Muy interesante esta explicacion para la generacion de reportes utiles.

Evaluación en síntesis, 100%.

Es una buena manera de darle un orden a todos los temas explicados!

Excelente resumen!

Buen resumen

Que buena resumen!

O esto ya me dio varias ideas para los querys de mi proyecto!

Excelente resumen.

Me encanta, muchas gracias

Excelento los tips para poder resolver una pregunta a query.

Excelente resumen de las sentencias a usar en las consultas.

Realmente excelente

Excelente para traducir la interrogante al lenguaje de base de datos.

exelente

Las bases de datos se vuelven más interesante día con día.

excelente herramienta de ‘traduccion’, muy util

excelente resumen

gracias

Falto añadir LIMIT

Excelente resumen! Muy buena clase.

Excelente clase

Perfecto resumen.

Quiero saber si en la familia Trump tienen covid-19

select : nombre , estado, count () as nindividuos
from: enfermos_covid19
where: enfermedad= ‘covid-19’ and estado = ‘activo’ and especie = ‘australophitecus’
group by: nombre, estado
having: count(
) > 0

Resultado:

2 ( Agrupación de Melania y Donald)

Cabe recalcar que HAVING siempre se pone antes de ORDER BY y despues de GROUP BY, sino, aparece error

Esta imagen hubiera sido muy bueno mostrarla desde un principio del curso para tener un panorama claro de que es lo que ibamos a ver en el curso y mentalizarnos para cada tema en particular. Sentía que iba a ciegas sin entender cada concepto. Ahora empiezo a entender el sentido.

ya vamos a terminar el cursoooooo, son 58 clases y aprendes lo que no en toda una vida. #platzibonitobelloyprecioso

EL último slide resume el módulo de consultas de forma que puedes recordar casi todo con solo mirarla un momento

• SELECT: Lo que quieres mostrar
• FROM: De dónde voy a tomar los datos
• WHERE: Los filtros de los datos que quieres mostrar
• GROUP BY: Los rubros por los que me interesa agrupar la información
• ORDER BY: El orden en que quiero presentar mi información
HAVING: Los filtros que quiero que mis datos agrupados tengan

Buen resumen, con ejemplos, falto el LIMIT para indicar hasta dónde quiero obtener o limitar la información que estoy manejando.

muy buena la clase

un gran resumen de lo que hasta ahora llevamos en la clase

Clase perfecta para sintetizar los diferentes elementos que componen un Query, y pasarlo a lenguaje criollo.

buena clase

Muy útil la explicación