Filtrando dados agrupados

SQL Intermediário com IA

Jasmin Ludolf

Senior Data Science Content Developer

WHERE ou HAVING

Quais idiomas têm mais de 20 filmes?

  • Contagem de idiomas: agregada e agrupada

 

WHERE

  • Linhas individuais
  • Quais filmes individuais atendem a esta condição?

$$

$$

$$

HAVING

  • Resultados agrupados
  • Quais grupos atendem a esta condição?
SQL Intermediário com IA

Filtrando dados agrupados

Prompt: Quais idiomas têm mais de 20 filmes?

SELECT language, COUNT(*) AS lang_count
FROM films
GROUP BY language
HAVING COUNT(*) > 20;
|language|
|--------|
|Mandarin|
|Spanish |
|French  |
|Hindi   |
|English |

$$

  • Filtros após:
    • Agrupamento
    • Agregações
    • Quando contagens estão disponíveis
SQL Intermediário com IA

Prompting para filtros de grupo

Prompt: Títulos de filmes e orçamentos com orçamento acima de 5 milhões

SELECT title, budget
FROM films
WHERE budget > 5000000;
|title          |budget |
|---------------|-------|
|Metropolis     |6000000|
|Duel in the Sun|8000000|
|Quo Vadis      |7623000|
|West Side Story|6000000|
...

Prompt: Idiomas e orçamento com orçamento médio arredondado acima de 5 milhões

SELECT language, ROUND(AVG(budget)) AS avg_budget
FROM films
GROUP BY language
HAVING ROUND(AVG(budget)) > 5000000;
|language|avg_budget|
|--------|----------|
|Danish  |16700000  |
|None    |8250000   |
|Tamil   |150000000 |
...
SQL Intermediário com IA

Combinando filtros

Prompt: Mostre idiomas com mais de 5 filmes a partir de 2000, onde a duração média excede 80

SQL Intermediário com IA

Combinando filtros

Prompt: Mostre idiomas com mais de 5 filmes a partir de 2000, onde a duração média excede 80

SELECT language, COUNT(*) AS film_count, ROUND(AVG(duration)) AS average_duration
FROM films

WHERE release_year >= 2000
GROUP BY language
SQL Intermediário com IA

Combinando filtros

Prompt: Mostre idiomas com mais de 5 filmes a partir de 2000, onde a duração média excede 80

SELECT language, COUNT(*) AS film_count, ROUND(AVG(duration)) AS average_duration
FROM films
WHERE release_year >= 2000
GROUP BY language

SQL Intermediário com IA

Combinando filtros

Prompt: Mostre idiomas com mais de 5 filmes a partir de 2000, onde a duração média excede 80

SELECT language, COUNT(*) AS film_count, ROUND(AVG(duration)) AS average_duration
FROM films
WHERE release_year >= 2000
GROUP BY language

HAVING COUNT(*) > 5 AND ROUND(AVG(duration)) > 80;
|language|film_count|average_duration|
|--------|----------|----------------|
|Mandarin|26        |112             |
|Japanese|10        |114             |
|Spanish |37        |107             |
...
SQL Intermediário com IA

Ordem das operações

$$

FROM

Uma linha de montagem

SQL Intermediário com IA

Ordem das operações

$$

FROMWHERE

Uma linha de montagem

SQL Intermediário com IA

Ordem das operações

$$

FROMWHEREGROUP BY (e agregação) ➝

Uma linha de montagem

SQL Intermediário com IA

Ordem das operações

$$

FROMWHEREGROUP BY (e agregação) ➝ HAVING

Uma linha de montagem

SQL Intermediário com IA

Ordem das operações

$$

FROMWHEREGROUP BY (e agregação) ➝ HAVINGSELECT

Uma linha de montagem

SQL Intermediário com IA

Ordem das operações

$$

FROMWHEREGROUP BY (e agregação) ➝ HAVINGSELECTORDER BY

Uma linha de montagem

SQL Intermediário com IA

Ordem das operações

$$

FROMWHEREGROUP BY (e agregação) ➝ HAVINGSELECTORDER BYLIMIT

Uma linha de montagem

SQL Intermediário com IA

Prompts de filtro

Ambos: Filmes a partir de 2000 onde a duração média é acima de 80

WHERE: Registros individuais

  • Títulos de filmes lançados após 2024
  • Orçamentos acima de 5 milhões

HAVING: Menciona agregados

  • Idiomas com orçamento médio acima de 10000
  • Contagem de filmes maior que 5

Caneta no papel

SQL Intermediário com IA

Prompting iterativo

$$

1) Comece pequeno

2) Verifique os resultados

3) Prompte novamente para adicionar mais detalhes

4) Repita!

Ilustração 3D de balões de fala, um com IA e outro com reticências

SQL Intermediário com IA

Hora de praticar!

SQL Intermediário com IA

Preparing Video For Download...