Banco de Dados - Comandos Básicos
Autor: Leandro Maschietto | Publicado: 2012-04-24T08:24:00-07:00





1.Selecionar na tabela pedido as
colunas descrição do produto, valor unitário, quantidade de produto e
multiplicar as duas coilunas (valor_unitário e quantidade de produto) e
agrupando pelas colunas selecionadas.



select desc_produto,

valor_unit_produto,

qtda_prod,

sum
(valor_unit_produto*qtda_prod)

from pedido

group by desc_produto,
valor_unit_produto, qtda_prod





2. Selecionar na tabela pedido
a coluna descrição do produto sem repetir&nbsp;
a descrição e somar a coluna (VALOR_TOTAL_PRODUTO) e agrupar por
descrição do produto. 



select distinct(desc_produto),

sum(valor_total_produto)

from pedido

group by desc_produto


OU


select distinct(desc_produto),

sum(valor_total_produto)

from pedido

--where desc_produto like
('C%') (MOSTRA ÀQUILO QUE TEM AS INICIAIS REFERENCIADAS

group by desc_produto



3.&nbsp; Utilize uma sub select para selecionar duas
tabelas pedido e cliente, nas colunas (nome cliente, descrição do produto e
somar valor total do produto e grupando por nome cliente, descrição do produto
e ordenar por código cliente.



SELECT P.COD_CLIENTE,
P.DESC_PRODUTO, SUM(VALOR_TOTAL_PRODUTO),

(SELECT DISTINCT(C.NOME_CLIENTE)FROM
CLIENTE C

WHERE
C.COD_CLIENTE=P.COD_CLIENTE) AS CLIENTE -- CHAMAR TUDO COMO "CLIENTE"
DOIS SELECTS DENTRO UM DO OUTRO....

FROM PEDIDO P

GROUP BY P.COD_CLIENTE,
P.DESC_PRODUTO&nbsp; -- AGRUPADO

ORDER BY P.COD_CLIENTE&nbsp; --- ORDENADO



4. Selecionar na tabela
cliente com na condição uf=SP e com limite maior igual a 450,00 e ordenar por
nome cliente.



SELECT * FROM CLIENTE

WHERE UF_CLIENTE='SP'

AND VALOR_LIMITE &gt;=450.00

ORDER BY NOME_CLIENTE



SELECT NOME_CLIENTE,
UF_CLIENTE, VALOR_LIMITE FROM CLIENTE

WHERE UF_CLIENTE='SP'

AND VALOR_LIMITE &gt;=450.00

ORDER BY NOME_CLIENTE

1- Selecionar na tabela pedido visualizando as colunas (prazo_pedido e
desc_produto), com dois prazos de pedido para 30 dias e 45 dias.



R: select prazo_pedido, desc_produto from pedido

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; where
(prazo_pedido = 30

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; or prazo_pedido =
45)



5. Conte na tabela pedido quantos (TENIS ADIDAS TT PLUS BRANCO/AZUL 39)
tem.



R: select count (*) from pedido 

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; where desc_produto
like ('TENIS ADIDAS TT PLUS BRANCO/AZUL 39%')



6. Na tabela produto alterar o preço do produto (CAMISETA ACOSTAMENTO
GOLA CARECA P) para 29,90.



R: update produto set valor_produto = 29.90

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; where cod_produto
= 4



7. Selecionar duas tabelas cliente (C) e pedido (P)&nbsp; visualizando as colunas (nome_cliente,e
sexo_cliente ), da tabela cliente e agrupe por nome_cliente, sexo_cliente com a
condição sexo =F.



R: Select distinct (c.nome_cliente) as nome,

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c.sexo_cliente
as sexo

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from
clientec, pedido p

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; where
c.cod_cliente = p.cod_cliente

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; and
c.sexo_cliente = 'F'

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; group
by c.nome_cliente, c.sexo_cliente



8. Selecione na tabela cliente as data de nascimento maior igual
01/01/1970 até 01/01/2000, visualizando as colunas (nome_cliente e sexo_cliente
).





R: select nome_cliente, sexo_cliente from cliente

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; where
(data_nas_cliente &gt;= '01/01/1970'

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; and
data_nas_cliente &lt;= '01/01/2000')



9. Fazer a multiplicação das colunas (valor_unit_produto e qtda_prod) e
multiplicar por 2, visualizando as colunas(desc_produto e Multiplicação) 

agrupando por (desc_produto). 



R: Select desc_produto,

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sum((valor_unit_produto
* qtda_prod) *2.0) as mult_2

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from pedido

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; group by
desc_produto



10. Selecione 3 tabelas Cidade (I), Cliente (C), Pedido (P), visualizar
as colunas Nome_Cidade, UF_Cidade, Nome_Cliente, Cod_Pedido, Desc_Pedido,
Valor_Unit_Produto, fazer a mutiplicação das duas colunas Valor_Unitario_Produto
e Qutda_Produto chamando de soma.





Select i.
Nome_Cidade as Cidade,

i.UF_Cidade as
UF,

p.Cod_Pedido as
Pedido,

p.Desc_Produto as
Unitario,

p.Valor_Unit_Produto
as Unitario,

Sum
(p.Valor_Unit_Produto * p.Qutda_Prod) as



11. Selecionar na tabela pedido qual o produto mais pedido pelos
clientes.



Select Max
(Qtda_Produto) as quantidade,

Desc_Produto as
Produto

From Pedido

Group by
Desc_Produto

order by Max
(Qutda_Produto) Desc

_____________________________________________________________________________



12. Utilize um sub select para selecionar duas tabelas pedido e cliente,
nas colunas (Nome_Cliente, Descrição_do_Produto e somar Valor Total do Produto
com a condição, achar todas as CALÇA TNG JEANS MASC% e agrupando por nome
Cliente, Descrição do Produto e ordenar por código Cliente.



Select
p.Cod_Cliente as Cliente,

p.Desc_Prod as
Produto,

Sum
(p.Valor_Total_Produto) as Soma

(Select ditinct
(c.Nome_Cliente) from Cliente .C

Where
(Cod_Cliente = P Cod_Cliente) as Cliente

from Pedido P

Where P
Desc_Produto like ('CALÇA TNG JEANS MASC%')

Group by P
Cod_Cliente, P.Desc_Prod,

order by
P.Cod_Cliente



_____________________________________________________________________________

13. Criar uma seqüência chamado Cod_Cliente_Seq, da tabela Cliente
iniciando pela seqüência 8 e no mínimo 10.000 registros.



Create Sequence
Cod_Cliente_Seq

increment 1

MinValue 1

MaxValue 10000

Start 8

Cache 1

Alter table
Cliente Owner TO Posterger;



Alter table
Cliente alter Columm Cod_Aluno SetDefault Nextval
('Cod_Cliente_Seq'::regclass);







Select&nbsp;
cod_cliente, nome_cliente&nbsp; from
cliente

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Where
nome_cliente like (‘REGINALDO%’)

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; AND
END_CLIENTE LIKE (‘RUA NELSON%’); -&gt; Seleciona
nome_cliente chamado REGINALDO% e end_cliente chamado RUA NELSON%.&nbsp;




Questões em dúvidas



1.
Selecionar na tabela cliente com na condição uf=SP e com limite maior igual a
450,00 e ordenar por nome cliente.



SELECT
* FROM CLIENTE

WHERE
UF_CLIENTE='SP'

AND
VALOR_LIMITE &gt;=450.00

ORDER
BY NOME_CLIENTE



SELECT
NOME_CLIENTE, UF_CLIENTE, VALOR_LIMITE FROM CLIENTE

WHERE
UF_CLIENTE='SP'

AND
VALOR_LIMITE &gt;=450.00

ORDER
BY NOME_CLIENTE





2. Selecionar duas tabelas cliente (C) e pedido
(P)&nbsp; visualizando as colunas
(nome_cliente,e sexo_cliente ), da tabela cliente e agrupe por nome_cliente,
sexo_cliente com a condição sexo =F.



R: Select distinct (c.nome_cliente) as nome,

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; c.sexo_cliente
as sexo

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from
clientec, pedido p

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; where
c.cod_cliente = p.cod_cliente

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; and
c.sexo_cliente = 'F'

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; group
by c.nome_cliente, c.sexo_cliente



3. Utilize um sub select para selecionar duas
tabelas pedido e cliente, nas colunas (Nome_Cliente, Descrição_do_Produto e
somar Valor Total do Produto com a condição, achar todas as CALÇA TNG JEANS
MASC% e agrupando por nome Cliente, Descrição do Produto e ordenar por código
Cliente.



Select
p.Cod_Cliente as Cliente,

p.Desc_Prod
as Produto,

Sum
(p.Valor_Total_Produto) as Soma

(Select
ditinct (c.Nome_Cliente) from Cliente .C

Where
(Cod_Cliente = P Cod_Cliente) as Cliente

from
Pedido P

Where
P Desc_Produto like ('CALÇA TNG JEANS MASC%')

Group
by P Cod_Cliente, P.Desc_Prod,

order
by P.Cod_Cliente