---
# System prepended metadata

title: Exercícios para casa Back-end 19/07/2020

---

# Exercícios para casa Back-end 19/07/2020

## 1 - Questão
```sql
select 
	trunc(avg("math score"::integer),2) as matematica,
	trunc(avg("reading score"::integer),2) as leitura,
	trunc(avg("writing score"::integer),2) as escrita,
	count(*) as quant
from
	grades
where
	("race/ethnicity" = 'group A' or "race/ethnicity" = 'group C')
	and "writing score"::integer >= 60
	and "gender" = 'female';
	
```
## 2 - Questão
```sql
select  
	"parental level of education" as nivel,
	count("gender") as quantidade,
	max("math score"::integer) as nota
from
	grades
where
	"math score"::integer > 75
	and "test preparation course" = 'completed'
	group by nivel;
```
## 3 - Questão
```sql
select  
	"gender" as genero,
	"race/ethnicity" as grupo_etnico,
	"math score"::integer as matematica,
	"reading score"::integer as leitura,
	"writing score"::integer as escrita
from
	grades
where
	"test preparation course" = 'none'
	and ("parental level of education" = 'some college' 
		or "parental level of education" = 'some high school')
	and "lunch" = 'standard'
	order by matematica desc, leitura desc, escrita desc
	limit 10; 
```
## 4 - Questão
```sql
select  
	count("gender") as total
from
	grades
where
	("math score"::integer > 80
	and "reading score"::integer > 80
	and "writing score"::integer > 80)
	and
	"test preparation course" = 'completed'
	and ("parental level of education" = 'masters degree'
		or "parental level of education" = 'bachelors degree'
		or "parental level of education" = 'associates degree')
	and "lunch" = 'free/reduced';

```
## 5 - Questão
```sql
select  
	count("gender") as total
from
	grades
where
	("math score"::integer > 80
	and "reading score"::integer > 80
	and "writing score"::integer > 80)
	and
	"test preparation course" = 'completed'
	and ("parental level of education" = 'masters degree'
		or "parental level of education" = 'bachelors degree'
		or "parental level of education" = 'associates degree')
	and "lunch" = 'standard';
```
### I - Questão
```sql
select  
	"race/ethnicity" as grupo_etnico,
	"parental level of education" as nivel,
	"test preparation course" as preparatorio,
	trunc(avg("math score"::integer),2) as matematica,
	trunc(avg("reading score"::integer),2) as leitura,
	trunc(avg("writing score"::integer),2) as escrita
from
	grades
	group by grupo_etnico, nivel, preparatorio 
	order by matematica desc, leitura desc, escrita desc;
```
### II - Questão 

```sql
--- MELHORES ALUNOS EM MATEMÁTICA COMPARADO AS OUTRAS MATÉRIAS ----
select
	("math score"::integer) as matematica,
	("reading score"::integer) as leitura,
	("writing score"::integer) as escrita
from
	grades
	order by matematica desc
	limit 20
--- PIORES ALUNOS EM MATEMÁTICA COMPARADO AS OUTRAS MATÉRIAS ----
select
	("math score"::integer) as matematica,
	("reading score"::integer) as leitura,
	("writing score"::integer) as escrita
from
	grades
	order by matematica asc
	limit 20
```
### III - Questão
```sql
select 
     gender,
     count(gender) 
 from grades
 where 
     ("math score"::INTEGER < 50 
     and "reading score"::INTEGER < 50 
     and "writing score"::INTEGER < 50) 
 group by gender;
 
 select 
     "race/ethnicity",
     count("race/ethnicity") 
 from grades
 where 
     ("math score"::INTEGER < 50
     and "reading score"::INTEGER < 50 
     and "writing score"::INTEGER < 50) 
 group by "race/ethnicity";
 
 select 
     "parental level of education",
     count("parental level of education") 
 from grades
 where 
     ("math score"::INTEGER < 50
     and "reading score"::INTEGER < 50 
     and "writing score"::INTEGER < 50) 
 group by "parental level of education";
 
 select 
     lunch,
     count(lunch) 
 from grades
 where 
     ("math score"::INTEGER < 50 
     and "reading score"::INTEGER < 50 
     and "writing score"::INTEGER < 50) 
 group by lunch;
 
 select 
     "test preparation course", 
     count("test preparation course") 
 from grades
 where 
     ("math score"::INTEGER < 50 
     and "reading score"::INTEGER < 50 
     and "writing score"::INTEGER < 50) 
 group by "test preparation course";
```