-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathfinal.sql
More file actions
123 lines (99 loc) · 3.53 KB
/
Copy pathfinal.sql
File metadata and controls
123 lines (99 loc) · 3.53 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
/*
adicionar uma coluna nova na tabela tb_produtos essa coluna se chamará estoque
*/
--- insere uma coluna de estoque com valor padrao zero
USE bd_16_byciclon
ALTER TABLE tb_produtos
ADD estoque INT DEFAULT 0;
--- ver todos os produtos dentro da tabela
SELECT * FROM tb_produtos
---atualizar os valores de tabela de produtos
UPDATE tb_produtos SET estoque = 15 WHERE nome = 'Caloi Ceci';
UPDATE tb_produtos SET estoque = 8 WHERE nome = 'Barra Forte';
--- confirmar se os dados foram atualizados
SELECT * FROM tb_produtos
--- traz o total de valor em estoque multiplicando a quantidade por valor
SELECT
nome,
valorUnitario,
estoque,
(valorUnitario * estoque) AS valorTotalEstoque
FROM tb_produtos
--- exercicio
--- inserir uma nova bicicleta
INSERT INTO tb_produtos (nome, linha, valorUnitario) VALUES
('Montain MGV', 'MGV', 6500.00 );
--- atualizar o estoque da bicibleta recem adquirida
UPDATE tb_produtos SET estoque = 3 WHERE nome = 'Montain MGV';
INSERT INTO tb_produtos (nome, linha, valorUnitario) VALUES
('Super Bike', 'MTB', 6000.00 );
--- só se for imediatamente após o insert
DECLARE @id INT = SCOPE_IDENTITY();
UPDATE tb_produtos SET estoque = 19
WHERE idProduto = @id;
--- calcular desconto de 5% para todos os produtos
SELECT
nome,
valorUnitario,
estoque,
(valorUnitario * estoque) AS ValorTotal,
(valorUnitario * estoque) * 0.05 AS desconto5Porcento,
(valorUnitario * estoque) * 0.95 AS ValorFinalComDesconto
FROM tb_produtos
WHERE nome = 'Super Bike';
---select com format e join realizando calculos
SELECT
i.idPedido,
p.nome AS Produto,
i.quantidade,
FORMAT(i.precoUnitario, 'C', 'pt-br') AS PrecoUnitario,
FORMAT (i.desconto, 'C', 'pt-br') AS Desconto,
FORMAT ((i.quantidade * i.precoUnitario) - i.desconto, 'C', 'pt-br') AS ValorFinal
FROM tb_itens_pedidos i
JOIN tb_produtos p ON i.idproduto = p.idProduto
SELECT * FROM tb_itens_pedidos
UPDATE tb_itens_pedidos SET desconto = 200 WHERE idItem = 1
UPDATE tb_itens_pedidos SET desconto = 200 WHERE idItem = 2
--- Define um desconto de 10% globalmente
DECLARE @descontoGlobal DECIMAL(5,2) = 0.10;
SELECT
nome,
FORMAT (valorUnitario,'C', 'pt-br') AS valorUnitario,
estoque,
FORMAT(valorUnitario * estoque,'C', 'pt-br') AS totalBruto,
FORMAT(valorUnitario * estoque * (1- @descontoGlobal), 'C', 'pt-br') AS totalComDesconto
FROM tb_produtos
--- trabalhando com Case
SELECT
nome,
FORMAT (valorUnitario,'C', 'pt-br'),
CASE
WHEN valorUnitario >= 4000 THEN 'Premium'
WHEN valorUnitario >=2000 THEN 'Intemediaria'
ELSE 'Básico'
END AS Categoria
FROM tb_produtos
--- traz os itens que estão com estoque baixo
SELECT nome, estoque FROM tb_produtos WHERE estoque <5;
--- verificar se existe o ID no estoque
SELECT * FROM tb_produtos WHERE idProduto = 5
--- deletar um ID da tabela produto
DELETE FROM tb_produtos WHERE idProduto = 32
DELETE FROM tb_produtos WHERE idProduto = 29
DELETE FROM tb_produtos WHERE idProduto = 28
DELETE FROM tb_produtos WHERE idProduto = 27
--- Apagar somente se existir o valor a ser apagado
IF EXISTS (SELECT 1 FROM tb_produtos WHERE idProduto = 5)
DELETE FROM tb_produtos WHERE idProduto = 5
--- Apagar Tabela em Modo Destrutivo
--- DROP TABLE tb_produtos
--- Apagar em modo seguro
/*
IF OBJECT_ID('tb_produtos', 'U') IS NOT NULL
DROP TABLE tb_produtos;
*/
--- apagar o banco de dados
DROP DATABASE meuprimeirobanco
IF EXISTS (SELECT name FROM sys.databases WHERE name = 'db_pedidos')
DROP DATABASE db_Pedidos
USE master;