---
# System prepended metadata

title: '#Back-end - A3 - 11/07'
tags: [Back-end]

---

# #Back-end - A3 - 11/07

###### Aluno: Pedro Ciccone
###### tags: `Back-end`

#### Parte 1: Linguagem de Definição de Dados (DDL)

##### Schema

```
CREATE TABLE imoveis (
  tamanho REAL,
  qtd_banheiros INTEGER,
  vagas_garagem INTEGER,
  quartos INTEGER,
  tipo_imovel TEXT,
  valor_aluguel REAL,
  valor_condominio REAL,
  suite BOOLEAN,
  varanda BOOLEAN
);

INSERT INTO imoveis (tamanho, qtd_banheiros, vagas_garagem, quartos, tipo_imovel, valor_aluguel, valor_condominio, suite, varanda) VALUES (125, 2, 1, 2, 'apartamento', 500, 125, TRUE, FALSE);
INSERT INTO imoveis (tamanho, qtd_banheiros, vagas_garagem, quartos, tipo_imovel, valor_aluguel, valor_condominio, suite, varanda) VALUES (70, 1, 1, 2, 'apartamento', 350, 85, FALSE, FALSE);
INSERT INTO imoveis (tamanho, qtd_banheiros, vagas_garagem, quartos, tipo_imovel, valor_aluguel, valor_condominio, suite, varanda) VALUES (200, 2, 1, 3, 'casa', 1000, 400, TRUE, TRUE);

CREATE TABLE proprietarios (
  nome TEXT,
  telefone TEXT,
  email TEXT
);

INSERT INTO proprietarios (nome, telefone, email) VALUES ('Luciane De Souza', '(71) 995271312', 'luciane.desouza@gmail.com');
INSERT INTO proprietarios (nome, telefone, email) VALUES ('Matheus Fernandes', '(71) 993213212', 'm.fernandes@gmail.com');
INSERT INTO proprietarios (nome, telefone, email) VALUES ('João Pedro Vargas', '(71) 992438989', 'jpvargas88@gmail.com');
```

##### Ação

```
SELECT *
FROM imoveis;

SELECT *
FROM proprietarios;
```

#### Parte 2: Linguagem de Manipulação de Dados (DML)

##### Schema

```
CREATE TABLE cardapio (
  nome VARCHAR(25),
  preco REAL,
  porcao_servida REAL,
  ingredientes TEXT,
  tempo_de_preparo TIME
);

INSERT INTO cardapio (nome, preco, porcao_servida, ingredientes, tempo_de_preparo) VALUES ('Coxinha de frango', 9, 3, 'Farinha de trigo, peito de frango e sal.', '00:07:00');
INSERT INTO cardapio (nome, preco, porcao_servida, ingredientes, tempo_de_preparo) VALUES ('Brigadeiro', 3, 1, 'Chocolate em pó, leite condensado e margarina.', '00:20:00');
INSERT INTO cardapio (nome, preco, porcao_servida, ingredientes, tempo_de_preparo) VALUES ('Macarrão ao alho e óleo', 8, 1, 'Macarrão, alho, óleo e orégano.', '00:15:00');
INSERT INTO cardapio (nome, preco, porcao_servida, ingredientes, tempo_de_preparo) VALUES ('Sanduíche', 6, 1, 'Pão, presunto, queijo, ovo frito e salada,', '00:10:00');
INSERT INTO cardapio (nome, preco, porcao_servida, ingredientes, tempo_de_preparo) VALUES ('Batata', 4, 1, 'Batata e óleo.', '00:05:00');
INSERT INTO cardapio (nome, preco, porcao_servida, ingredientes, tempo_de_preparo) VALUES ('Refrigerante', 2, 1, 'Refrigerante.', '00:00:30');
```

##### Ação de visualização

```
SELECT *
FROM cardapio;
```

##### Ação de inserção

```
INSERT INTO cardapio (
  nome,
  preco,
  porcao_servida,
  ingredientes,
  tempo_de_preparo
) 
VALUES (
  'PF',
  8,
  1,
  'Feijão, arroz e frango',
  '00:10:00'
);

SELECT *
FROM cardapio;
```

##### Ação de atualização

Não deu certo :( Mas não sei direito o por que.


```
UPDATE cardapio
SET (
  nome = 'Combo sanduíche',
  preco = 10,
  porcao_servida = 1,
  ingredientes = 'Sanduíche, batata e refrigerante.',
  tempo_de_preparo = '00:12:00',
)
WHERE nome = 'Sanduíche';
```

Ele devolve esse erro:

`ERROR: syntax error at or near "=" Position: 30`

##### Ação de deleção

```
DELETE FROM cardapio
WHERE nome = 'Macarrão ao alho e óleo';

SELECT *
FROM cardapio;
```

#### Parte 3: Linguagem de Consulta de Dados (DQL)

##### Exercício 1: Cardápio

```
SELECT nome
FROM cardapio
WHERE preco < 10
AND tempo_de_preparo < '00:10:00';
```

##### Exercício 2: Lista de imóveis

```
SELECT *
FROM imoveis
WHERE quartos >= 2
AND quartos <= 4
AND tipo_imovel = 'casa'
AND vagas_garagem >= 1
AND qtd_banheiros >= 2
AND qtd_banheiros <= 4;
```

##### Exercício 3: Estudantes 1

```
SELECT nome, idade
FROM estudantes
WHERE materia_favorita = 'Backend'
AND idade >= 25
AND idade <= 45
AND NOT nome = 'Bruce Wayne';
```

##### Exercício 4: Estudantes 2

Tentei fazer ele com menos comandos, mas não consegui kkk.

```
SELECT nome, cidade, profissao
FROM estudantes
WHERE idade >= 18
AND idade <= 98
AND NOT idade = 21
AND NOT idade = 22
AND NOT idade = 23
AND NOT idade = 24
AND materia_favorita <> 'Frontend';
```