Você está na página 1de 4

create database aulaselect use aulaselect create table pessoa( codigo int identity not null, nome varchar(30)

not null, sobrenome varchar(100) not null, logradouro varchar(200) not null, numero int not null, bairro varchar(100) not null, cep char(9) not null, telefone varchar(11) primary key (codigo)) insert into pessoa values ('Joo','dos Santos','Av. guia de Haia',1875,'Cid. A.E. Carvalho','09874974','11985 473654'), ('Maria','da Silva', 'Av. So Miguel', 125,'So Miguel','09651854','1123654878'), ('Ana','de Souza','Av. do Imperador',1532, 'Cid. A.E. Carvalho','09874974',null) create table produto( codigo int identity(100001,1) not null, nome varchar(50) not null, valor decimal(7,2) not null primary key (codigo)) insert into produto values ('Chiclete', 0.50), ('Bala',0.05), ('Pirulito',0.10) create table venda( codigo_pessoa int not null, codigo_produto int not null, quantidade int not null, preco_total decimal(7,2) not null, data_compra date not null primary key (codigo_pessoa, codigo_produto,data_compra) foreign key (codigo_pessoa) references pessoa (codigo), foreign key (codigo_produto) references produto (codigo)) insert into venda values (1,100001,3,1.5,'2013-04-15'), (1,100002,10,0.5,'2013-04-15'), (2,100002,20,1.0,'2013-04-15'), (1,100002,30,1.5,'2013-04-16'), (1,100003,5,0.5,'2013-04-16') select * from pessoa select * from produto select * from venda -- Consulta simples do endereo e telefone de todos SELECT logradouro,numero,bairro,cep, telefone FROM pessoa -- Consulta simples do endereo e telefone de Joo SELECT logradouro,numero,bairro,cep, telefone FROM pessoa WHERE nome = 'Joo'

-- Se houver mais de um Joo SELECT logradouro,numero,bairro,cep, telefone FROM pessoa WHERE nome = 'Joo' AND sobrenome = 'dos Santos' -- se no souber o sobrenome exato de Joo SELECT nome, sobrenome,logradouro,numero,bairro,cep, telefone FROM pessoa WHERE nome = 'Joo' AND sobrenome like '%Santos' -- Nome e Sobrenome concatenados de quem no tem telefone SELECT nome+sobrenome,telefone FROM pessoa WHERE telefone is null SELECT nome+' '+sobrenome,telefone FROM pessoa WHERE telefone is null SELECT nome+' '+sobrenome AS nome_completo,telefone FROM pessoa WHERE telefone is null -- Nome e Sobrenome concatenados de quem tem telefone em Ordem alfabtica SELECT nome+' '+sobrenome AS nome_completo,telefone FROM pessoa WHERE telefone is not null ORDER BY nome ASC SELECT nome+' '+sobrenome AS nome_completo,telefone FROM pessoa WHERE telefone is not null ORDER BY nome DESC -- nome_completo, endereo_completo de Maria da Silva SELECT nome+' '+sobrenome AS nome_completo, logradouro+' '+numero+' '+bairro+' CEP:'+cep as endereco_complet o, telefone FROM pessoa WHERE nome = 'Maria' AND sobrenome like '%Silva' SELECT nome+' '+sobrenome AS nome_completo, logradouro+','+CAST(numero as VARCHAR(5))+' - '+bairro+' - CEP:' +cep as endereco_completo, telefone FROM pessoa WHERE nome = 'Maria' AND sobrenome like '%Silva' SELECT nome+' '+sobrenome AS nome_completo, logradouro+','+CONVERT(VARCHAR(5),numero)+' - '+bairro+' - CEP:' +cep AS endereco_completo, telefone FROM pessoa WHERE nome = 'Maria' AND sobrenome like '%Silva' -- Colocando mscara em cep e telefone SELECT cep, telefone FROM pessoa

WHERE nome = 'Maria' AND sobrenome like '%Silva' SELECT SUBSTRING(cep,1,5)+'-'+SUBSTRING(cep,6,3) AS cep, '('+SUBSTRING (telefone,1,2)+')'+SUBSTRING(telefone,3,4)+'-'+SUB STRING(telefone,7,4) AS telefone FROM pessoa WHERE nome = 'Maria' AND sobrenome like '%Silva' SELECT SUBSTRING(cep,1,5)+'-'+SUBSTRING(cep,6,3) AS cep, '('+SUBSTRING (telefone,1,2)+')'+SUBSTRING(telefone,3,4)+'-'+SUB STRING(telefone,7,4) AS telefone FROM pessoa WHERE nome = 'Ana' AND sobrenome like '%Souza' -- Mscara de telefone para diferenciar fixos e celulares SELECT SUBSTRING(cep,1,5)+'-'+SUBSTRING(cep,6,3) AS cep, telefone_pessoa = CASE LEN(telefone) WHEN 10 THEN '('+SUBSTRING (telefone,1,2)+')'+SUBSTRING(telef one,3,4)+'-'+SUBSTRING(telefone,7,4) WHEN 11 THEN '('+SUBSTRING (telefone,1,2)+')'+SUBSTRING(telef one,3,5)+'-'+SUBSTRING(telefone,8,4) END FROM pessoa -- Calcular 5% de desconto no valor dos produtos SELECT nome, valor, valor*0.95 AS desconto FROM produto SELECT nome, valor, CAST(valor*0.95 AS DECIMAL(7,2)) AS desconto FROM produto -- Mostrar quais produtos custam menos de 0.25 e seus valores SELECT nome, valor FROM produto WHERE valor < 0.25 -- Mostrar quais produtos custam mais de 0.25 e seus valores SELECT nome, valor FROM produto WHERE valor > 0.25 -- Mostrar quais produtos tem preo entre 0.05 e 0.15 SELECT nome, valor FROM produto WHERE valor BETWEEN 0.05 AND 0.15 -- Mostrar quais produtos tem preo menor que 0.05 e maior que 0.15 SELECT nome, valor FROM produto WHERE valor NOT BETWEEN 0.05 AND 0.15 --Informaes de compra com data formatada SELECT codigo_pessoa, codigo_produto, quantidade, preco_total, CONVERT(CHAR(10),data_compra,103) as data_compra FROM venda ORDER BY data_compra ASC

Você também pode gostar