Didone / Didone/0722-bootcamp-sql

Múltiplas junções

Open
#19 0 comments 0 reactions 1 assignee Claimed by @Didone View on GitHub
bootcamp
Dominant language
Python
Stars
15
Forks
24
PR merge metrics
No merged PRs in 30d

Description

```sql
SELECT v.cod_venda
, l.nm_fruta
, v.qtd_venda
, t.vl_fruta
, t.vl_fruta * v.qtd_venda as total
FROM venda_frutas v
INNER JOIN lista_frutas l ON v.nm_fruta = l.nm_fruta
INNER JOIN tipo_frutas t ON l.tp_fruta = t.tp_fruta
```

Adicionar ao seu motor de interpretação de _SQL_ ([engine.py](https://github.com/Didone/0722-bootcamp-sql/blob/main/csvms/engine.py)) a capacidade de interpretação de uma consulta **consultas** (DQL) como a listada acima.

```python
from csvms.engine import Engine
# Ao executar o SQL uma nova tabela deve ser criada, de acordo com a especificação
Engine().execute("""SELECT v.cod_venda, l.nm_fruta, v.qtd_venda, t.vl_fruta, t.vl_fruta * v.qtd_venda as total FROM venda_frutas v INNER JOIN lista_frutas l ON v.nm_fruta = l.nm_fruta INNER JOIN tipo_frutas t ON l.tp_fruta = t.tp_fruta""")
```

Resultado esperado

```log
+------------+-----------+------------+-----------+------+
|cod_venda |nm_fruta |qtd_venda |vl_fruta |total |
+------------+-----------+------------+-----------+------+
0| 1| banana| 10| 1.5| 15.0|
1| 2| banana| 12| 1.5| 18.0|
2| 3| limão| 20| 2.5| 50.0|
3| 4| banana| 8| 1.5| 12.0|
4| 5| limão| 8| 2.5| 20.0|
+------------+-----------+------------+-----------+------+
```

> A consulta deve ser baseada no banco de dados descrito no arquivo [frutas.sql](https://github.com/Didone/0722-bootcamp-sql/blob/gh-pages/sql/frutas.sql)

Exemplos: [dql-sql.ipynb](https://github.com/Didone/0722-bootcamp-sql/blob/gh-pages/examples/dql-sql.ipynb)

------------
Para que este exercício seja realizado é desejável ter implementado as tarefas abaixo:

- #7

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.