# exercícios back-end aula 28/07
## exercício 0.A
``` sql
select category, count(*)
from times
group by category
order by count(*) desc
limit 5
```
## exercício 0.B
```sql
select * from (
select category, count(*)
from times
group by category
order by count(*) desc
) as honras
where count between 3 and 6
```
## exercício 0.C
```sql
select *
from times
where category in (
select category from (
select category, count(*)
from times
group by category
order by count(*) desc
) as honras
where count between 3 and 6
order by count desc
limit 2
)
```
## exercício 1.A
```sql
select * from (
select birth_country, count(*)
from nobel
group by birth_country
order by count desc) as dados
where count between 10 and 50
```
## exercício 1.B
```sql
select prize_share
from (select prize_share, count(prize_share)
from nobel
group by prize_share
order by count asc) as dados
```
## exercício 1.C
```sql
select full_name, category, year, prize_share
from nobel
where prize_share in (select prize_share from (
select prize_share, count(prize_share)
from nobel
group by prize_share
order by count asc
limit 1
) as share)
group by full_name, category, year, prize_share
```
## exercício 1.D
``` sql
select category, count(*)
from nobel
where prize_share in (select prize_share from (
select prize_share, count(prize_share)
from nobel
group by prize_share
order by count asc
limit 1
) as share)
group by category
order by count(*) desc
```
## exercício 1.E
``` sql
select category from (select category, count(*)
from nobel
where prize_share in (select prize_share from (
select prize_share, count(prize_share)
from nobel
group by prize_share
order by count asc
limit 1
) as share)
group by category
order by count(*) desc) as dados
where count > 30
```
## exercício 2.A
select *, count(*)
from (
select unnest(string_to_array(name, ' '))
from cervejarias) as nomes
group by nomes.unnest
order by count desc
limit 4
## exercício 2.B
``` sql
select *, count(*)
from (
select unnest(string_to_array(name, ' '))
from cervejas) as nomes
group by nomes.unnest
order by count desc
limit 5
```
## exercício 2.C
``` sql
select count(dados.unnest)
from (select *, count(*)
from (
select unnest(string_to_array(name, ' '))
from cervejarias) as nomes
group by nomes.unnest
order by count asc ) as dados
where count = 1
```
## exercício 2.D
``` sql
select count(dados.unnest)
from (select *, count(*)
from (
select unnest(string_to_array(name, ' '))
from cervejas) as nomes
group by nomes.unnest
order by count asc ) as dados
where count = 1
```
## exercício 2.E
``` sql
select distinct cervejarias_nomes.unnest from (select unnest(string_to_array(name, ' '))
from cervejarias) as cervejarias_nomes
where cervejarias_nomes.unnest in (
select unnest(string_to_array(name, ' '))
from cervejas)
```
## exercício 3.A
``` sql
select distinct unnest(string_to_array(casting, ', '))
from netflix
```
## exercício 3.B
``` sql
select unnest(string_to_array(casting, ', ')), count(*)
from netflix
group by unnest
order by count desc
```
## exercício 3.C
``` sql
select unnest(string_to_array(casting, ', ')), count(*)
from netflix
group by unnest
order by count desc
limit 10
```
## exercício 3.D
``` sql
select actors.unnest from (select unnest(string_to_array(casting, ', ')), count(*)
from netflix
group by unnest
order by count desc) as actors
where (actors.count between 10 and 30) and (actors.count not between 15 and 20)
```
## exercício 3.E
``` sql
select unnest(string_to_array(casting, ', ')), country, count(*)
from netflix
where country not like '%India%'
and country not like '%,%'
group by unnest, country
order by count desc
```
## exercício 3.F
``` sql
select actors.unnest from (select distinct unnest(string_to_array(casting, ', '))
from netflix) as actors
where actors.unnest in (select distinct unnest(string_to_array(director, ', ') )
from netflix)
```
## exercício 4.A
``` sql
select title
from netflix
where country not like '%,%'
```
## exercício 4.B
``` sql
select unnest(string_to_array(title, ' ')), count(*)
from netflix
where country not like '%,%'
group by unnest
order by count desc
```
## exercício 4.C
``` sql
select * from (select unnest(string_to_array(title, ' ')), count(*)
from netflix
where country not like '%,%'
group by unnest
order by count desc) as titulos
where titulos.count between 20 and 40
```
## exercício 4.D
``` sql
select * from (select unnest(string_to_array(title, ' ')), count(*)
from netflix
where country not like '%,%'
group by unnest
order by count desc) as titulos
limit 1
offset 7
```