Ir para conteúdo
Fórum Script Brasil
  • 0

Aprendendo SQL - explicação sobre meus erros


Aroldo Azevedo

Pergunta

Boa Tarde!

-- Eliminando tabelas existentes

Drop Table If Exists TB_Cliente
Drop Table If Exists TB_Produto
Drop Table If Exists TB_NF
Drop Table If Exists TB_NFItem
Go

-- Criando tabela

Create Table TB_Cliente (
ID_Cliente Int Identity(1,1),
Nm_Cliente Varchar(200),
ID_UF Varchar(2),
Nr_Telefone Varchar(10),
Nr_Celular Varchar( 11),
Dt_Cadastro Date Default GetDate(),
St_Ativo Varchar(1) Default 'A',
Primary Key(ID_Cliente),
);


Create Table TB_Produto (
ID_Produto Int Identity(321,1) ,
Ds_Produto Varchar(200) , 
Pr_Venda Numeric(38,2) ,
Pr_Compra Numeric(38,2) ,
Qt_Estoque Numeric (38),
ID_Client Int ,
Primary Key(ID_Produto),

);
create Table TB_NF (
	Nr_NF       Int Identity( 100101, 1),
	Dt_NF       Date,
	Vl_NF       Numeric(10,2) ,
	Vl_TotalNF Numeric(38,2) ,
	ID_Cliente  Int ,
	Primary Key (Nr_NF),
);
Go


Create Table TB_NFItem (
ID_NFItem Int Identity(1,1),
ID_Client Int Not Null,
Nr_NFItem Numeric (38) Not Null,
Pr_Unitario Numeric (38,2) Not Null,
Qt_Vendida Numeric (38) Not Null,
Vl_SubTotal Numeric (38,2) Not Null,
Primary Key(ID_NFItem),
constraint fk_Item Foreign key (ID_NFItem) references  TB_NFItem (ID_NFItem)
);

-- Inserção de Clientes
Insert into TB_Cliente (Nm_Cliente, ID_UF, Nr_Telefone,Nr_Celular) Values ('João', 'SP', 1155880101, 11973177616);
Insert into TB_Cliente (Nm_Cliente, ID_UF, Nr_Telefone,Nr_Celular) Values ('Maria', 'MG', 1155880202, 11966688899);
Insert into TB_Cliente (Nm_Cliente, ID_UF, Nr_Telefone,Nr_Celular) Values ('Marcos', 'BA', 1155880300, 41970999925);
Insert into TB_Cliente (Nm_Cliente, ID_UF, Nr_Telefone,Nr_Celular) Values ('Antonio', 'SP', 1155880404, 11977558991);
Insert into TB_Cliente (Nm_Cliente, ID_UF, Nr_Telefone,Nr_Celular) Values ('Gabriela', 'RJ', 1155880505, 21970248925);

-- Inserção de Produtos
Insert into TB_Produto (Ds_Produto, Pr_Venda, Pr_Compra,Qt_Estoque) Values ('MONITOR LCD LG', 250, 150,20);
Insert into TB_Produto (Ds_Produto, Pr_Venda, Pr_Compra,Qt_Estoque) Values ('MONITOR LCD PHILIPS', 300, 200,15);
Insert into TB_Produto (Ds_Produto, Pr_Venda, Pr_Compra,Qt_Estoque) Values ('IMPRESSORA EPSON MOD1', 150, 350,10);
Insert into TB_Produto (Ds_Produto, Pr_Venda, Pr_Compra,Qt_Estoque) Values ('HD EXTERNO 1T SEAGATE', 320, 200,100);
Insert into TB_Produto (Ds_Produto, Pr_Venda, Pr_Compra,Qt_Estoque) Values ('HD EXTERNO 2T SEAGATE', 399.90, 250,50);
Insert into TB_Produto (Ds_Produto, Pr_Venda, Pr_Compra,Qt_Estoque) Values ('HD EXTERNO 4T SEAGATE BARRACUDA', 679.90, 400,120);
Insert into TB_Produto (Ds_Produto, Pr_Venda, Pr_Compra,Qt_Estoque) Values ('CABO SATA PLUS', 3.90, 1.50,500);
Insert into TB_Produto (Ds_Produto, Pr_Venda, Pr_Compra,Qt_Estoque) Values ('CABO ADAPTADOR USB3 SSD SATA', 49.90, 30,10);
-- Inserir registros
Insert Into TB_NF(Dt_NF, Vl_NF, ID_Cliente) Values (GetDate()-10, 100, 1);
Insert Into TB_NF(Dt_NF, Vl_NF, ID_Cliente) Values (GetDate()-10, 150, 2);
Insert Into TB_NF(Dt_NF, Vl_NF, ID_Cliente) Values (GetDate()-10,  50, 3);
Insert Into TB_NF(Dt_NF, Vl_NF, ID_Cliente) Values (GetDate()-10,  40, 4);
Insert Into TB_NF(Dt_NF, Vl_NF, ID_Cliente) Values (GetDate()- 9,  80, 1);
Insert Into TB_NF(Dt_NF, Vl_NF, ID_Cliente) Values (GetDate()- 8,  20, 3);
Insert Into TB_NF(Dt_NF, Vl_NF, ID_Cliente) Values (GetDate()- 5,  10, 1);
Insert Into TB_NF(Dt_NF, Vl_NF, ID_Cliente) Values (GetDate()- 5, 180, 2);
Insert Into TB_NF(Dt_NF, Vl_NF, ID_Cliente) Values (GetDate()- 2, 200, 4);
Insert Into TB_NF(Dt_NF, Vl_NF, ID_Cliente) Values (GetDate()- 2,   5, 1);
Go

--Q00
Select Left(Convert(varchar(30), Dt_NF, 103),10) As Dt_NF, Vl_TotalNF
 From TB_NF
 Where Nr_NF = 100101
--Q01
Select *from TB_NF
	
--Q02
Update TB_Produto
	set Pr_Venda = 410.00
	where Pr_Venda = 399.00;
	Select Pr_Venda  
from TB_Produto
--Q03
Delete From TB_Cliente
	where ID_Cliente = 3;
--Q04
select Vl_NF,Nr_NF
			  from TB_NF
			  where Vl_NF > 260 

--Q05
Update TB_NFItem
	set Qt_Vendida = 21
	where  ID_NFItem = 327;
--Q06
Update TB_NF
   Set Vl_NF = Vl_NF + 1
 Where Nr_NF = 100101

--Q07
select Nm_Cliente,ID_UF
			From TB_Cliente 
	 		where ID_UF ='SP'
	
--Q08
Select Ds_Produto
From TB_Produto
	where Ds_Produto like 'Al[^HD]%';
	 	
--Q09
Select top 5 Nm_Cliente
	From TB_Cliente
Delete from TB_Cliente
	where Nm_Cliente like 'Al[^G]%';
	
--Q010
Delete From TB_Produto
	where ID_Produto = 321;
--Q011
Select 'Descrição: ' + upper (Ds_Produto) as Ds_Maiusculo FROM TB_Produto;
--Q012
Delete  From TB_NF 
where Vl_NF >= 690.00;
--Q013
Select Qt_Vendida 
	From TB_NFItem
	where Qt_Vendida = Qt_Vendida;
	
--Q014
select Nm_Cliente, ID_UF
			From TB_Cliente
	 		where ID_UF ='MG'
--Q015
Delete From TB_Produto
	where ID_Produto = 323;
--Q16
Select top 5 Ds_Produto
	From TB_Produto
	where Ds_Produto like 'Al[^C]%';
--Q17
Delete From TB_Produto
	where Pr_Venda > 1000.00;
	--Q18
	Update TB_Produto
	set Pr_Venda = Pr_Venda * 1.15
	where ID_Produto = 321;
	--Q19
	Select Nr_NF 
	from TB_NF
	where Nr_NF = 101;
	--Q20
	Delete From TB_NFItem
	where Nr_NFItem = 100103;
	--Q21
	Select Nm_Cliente, Nr_NF, Dt_NF,Vl_TotalNF,ID_Produto,Ds_Produto 
	From TB_Cliente, TB_NF,TB_Produto;
	--Q22
	Delete From TB_NF
	where Nr_NF = 100103;
	--Q23
	Select Nm_Cliente, Dt_NF,Vl_TotalNF 
	From TB_Cliente, TB_NF;
--Q24
Delete From TB_Cliente
	where Nm_Cliente = 'Marcos';
--Q25
Select 'Cliente: ' + upper (Nm_cliente),
'(' + Substring(Convert(varchar(10),Nr_Telefone), 1, 2) + ')'+' '+ Substring(Convert(varchar(10),Nr_Telefone), 4, 4) +'-'+ Substring(Convert(varchar(10), Nr_Telefone), 7, 10) as Nr_Telefone,
'('+ Substring(Convert(varchar(11),Nr_Celular), 1, 2)+')' +' '+ Substring(Convert(varchar(11),Nr_Celular), 5, 5)  +'-'+ Substring(Convert(varchar(11), Nr_Celular), 8, 11)   as Nr_Celular
FROM TB_Cliente;

Estou aprendendo SQL, respondi algumas questões e gostaria se possível que alguém explique meus erros.

(Q00) Exibir a data e o valor total da NF 100101.

(Q01) Exiba todas as NF existentes.

(Q02) Altere o preço de venda para R$ 399,90 de todos os produtos que custarem R$ 410,00

(Q03) Elimine o cliente MARCOS (Q04) Liste todas as NFs em que o total for superior a R$ 260,00

(Q05) Altere a quantidade vendida para 21 e o subtotal da NF 100102 item comprado 327

(Q06) Atualize o valor total da NF 100102

(Q07) Liste todos os clientes que forem de São Paulo

(Q08) Exiba todos os produtos que tiverem na sua descrição a palavra "HD"

(Q09) Elimine todos os clientes que começarem por ‘G’

(Q10) Elimine o produto 321

(Q11) Transforme todas as descrições dos produtos em maiúsculo

(Q12) Elimine todas as NF superior a R$ 690,00

(Q13) Exiba o total de vendas do cliente 1

(Q14) Liste a quantidade de clientes do Minas Gerais

(Q15) Elimine todas as impressoras da EPSON do arquivo de produtos

(Q16) Liste todos os produtos que começarem por “C”

(Q17) Exclua todos os produtos que o preço de venda for entre R$ 1.000,00 e R$ 1.500,00

(Q18) Adicione 15% ao preço de venda do produto 321

(Q19) Liste todas os Números de NF que contiverem o número 101

(Q20) Elimine os itens da NF 100103

(Q21) Liste todas os Números de NF, Data de NF, Total da NF e o código do produto vendido e sua descrição

(Q22) Elimine a NF 100103

(Q23) Exiba o nome do cliente, a data da NF e o total da NF

(Q24) Elimine todos os clientes que tenham no nome a palavra MARCOS

(Q25) Exiba o nome do cliente, seu telefone e celular formatados: (99) 9999-999

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...