Didone / Didone/0722-bootcamp-sql

Junção esquerda

Open
#22 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 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

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.