# #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';
```