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