Didone / Didone/0722-bootcamp-sql
Junção esquerda
- Dominant language
- Python
- Stars
- 15
- Forks
- 24
- PR merge metrics
- No merged PRs in 30d
Description
```sql
SELECT DISTINCT f.nm_fruta AS "Frutas não vendidas"
FROM lista_frutas f
LEFT JOIN (
SELECT v.nm_fruta
, p.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 p ON l.tp_fruta = p.tp_fruta) c ON f.nm_fruta = c.nm_fruta
WHERE c.total < 20
OR c.total IS NULL
```
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 DISTINCT f.nm_fruta AS "Frutas não vendidas" FROM lista_frutas f LEFT JOIN (SELECT v.nm_fruta, p.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 p ON l.tp_fruta = p.tp_fruta) c ON f.nm_fruta = c.nm_fruta WHERE c.total < 20 OR c.total IS NULL""")
```
Resultado esperado
```log
+--------------------+
|Frutas não vendidas |
+--------------------+
0| banana|
1| maçã|
+--------------------+
```
> 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
- #10
- #11
Contributor guide
Assessment
This issue has not been assessed yet.