28
Banco de Dados Banco de Dados SQL 2 SQL 2 Profa. Ceça Profa. Ceça

Banco de Dados SQL 2 Profa. Ceça. Ceça Moraes2 Visão Gráfica do Exemplo

Embed Size (px)

Citation preview

Page 1: Banco de Dados SQL 2 Profa. Ceça. Ceça Moraes2 Visão Gráfica do Exemplo

Banco de DadosBanco de DadosSQL 2SQL 2

Profa. CeçaProfa. Ceça

Page 2: Banco de Dados SQL 2 Profa. Ceça. Ceça Moraes2 Visão Gráfica do Exemplo

Ceça MoraesCeça Moraes 22

Visão Gráfica do ExemploVisão Gráfica do Exemplo

Page 3: Banco de Dados SQL 2 Profa. Ceça. Ceça Moraes2 Visão Gráfica do Exemplo

MS Access: MS Access: BDExemploSQL2.mdbBDExemploSQL2.mdb

Ceça MoraesCeça Moraes 33

Page 4: Banco de Dados SQL 2 Profa. Ceça. Ceça Moraes2 Visão Gráfica do Exemplo

Ceça MoraesCeça Moraes 44

Extraindo dados de tabelas - Extraindo dados de tabelas - SELECTSELECT SELECT <colunas> FROM <tabelas>SELECT <colunas> FROM <tabelas>

[WHERE <condição>[WHERE <condição> ]] SELECT SELECT <colunas> <colunas>

Colunas da consulta separadas por vírgulaColunas da consulta separadas por vírgula FROM FROM <tabelas> <tabelas>

– Tabelas da consulta separadas por vírgulaTabelas da consulta separadas por vírgula WHERE WHERE <condição>]<condição>]

– Condição lógica para seleção de linhasCondição lógica para seleção de linhas

Page 5: Banco de Dados SQL 2 Profa. Ceça. Ceça Moraes2 Visão Gráfica do Exemplo

Ceça MoraesCeça Moraes 55

SELECTSELECT Exemplo 1Exemplo 1

Listar todos os produtos com Listar todos os produtos com respectivas descrições, unidades, respectivas descrições, unidades, valores unitáriosvalores unitários

SELECT descricaoProduto, SELECT descricaoProduto, unidade, unidade, valorUnit FROM valorUnit FROM produto;produto;

A execução desse comando irá listar A execução desse comando irá listar todas as linhas da tabela produtostodas as linhas da tabela produtos

Page 6: Banco de Dados SQL 2 Profa. Ceça. Ceça Moraes2 Visão Gráfica do Exemplo

Ceça MoraesCeça Moraes 66

SELECTSELECT Exemplo 2Exemplo 2

Listar o CGC, o Listar o CGC, o nome e o endereço nome e o endereço de todos os de todos os clientesclientes

SELECT CGC, SELECT CGC, nomeCliente, nomeCliente, endereco endereco

FROM Cliente;FROM Cliente;

Page 7: Banco de Dados SQL 2 Profa. Ceça. Ceça Moraes2 Visão Gráfica do Exemplo

Ceça MoraesCeça Moraes 77

SELECTSELECT Exemplo 3Exemplo 3

Selecionando todas as colunas de Selecionando todas as colunas de uma tabelauma tabela

SELECT * FROM <tabela>SELECT * FROM <tabela> Listar todo o conteúdo de vendedorListar todo o conteúdo de vendedor

SELECT * FROM vendedorSELECT * FROM vendedor Resultado: todos os vendedoresResultado: todos os vendedores

Page 8: Banco de Dados SQL 2 Profa. Ceça. Ceça Moraes2 Visão Gráfica do Exemplo

Ceça MoraesCeça Moraes 88

Alterando o cabeçalho (Alterando o cabeçalho (headerheader) ) da colunada coluna Por Por defaultdefault, o cabeçalho apresentado , o cabeçalho apresentado

no resultado do SELECT é o nome da no resultado do SELECT é o nome da coluna da tabelacoluna da tabela

É possível modificá-lo:É possível modificá-lo:

SELECT nome_coluna AS SELECT nome_coluna AS cabecalho, ...cabecalho, ...

FROM nome_da_tabelaFROM nome_da_tabela

Page 9: Banco de Dados SQL 2 Profa. Ceça. Ceça Moraes2 Visão Gráfica do Exemplo

Ceça MoraesCeça Moraes 99

Exemplo : Mudando o Exemplo : Mudando o cabeçalhocabeçalho

SELECT codigoVendedor AS [Número do SELECT codigoVendedor AS [Número do Vendedor], nomeVendedor AS [Nome do Vendedor], nomeVendedor AS [Nome do Vendedor], salarioFixo AS rendimentos, Vendedor], salarioFixo AS rendimentos, faixaComissao AS comissao FROM VendedorfaixaComissao AS comissao FROM Vendedor

Page 10: Banco de Dados SQL 2 Profa. Ceça. Ceça Moraes2 Visão Gráfica do Exemplo

Ceça MoraesCeça Moraes 1010

Manipulando dados Manipulando dados numéricosnuméricos Operadores aritméticos podem ser Operadores aritméticos podem ser

usados sobre qualquer coluna usados sobre qualquer coluna numéricanumérica– +, -, /, *, %+, -, /, *, %

Exemplo:Exemplo:

SELECT nomeVendedor, (salarioFixo SELECT nomeVendedor, (salarioFixo * 2) AS [Salário Dobrado] FROM * 2) AS [Salário Dobrado] FROM Vendedor Vendedor

Page 11: Banco de Dados SQL 2 Profa. Ceça. Ceça Moraes2 Visão Gráfica do Exemplo

Ceça MoraesCeça Moraes 1111

Manipulando dados numéricos Manipulando dados numéricos - Exemplo- Exemplo

O resultado O resultado apresenta os salários apresenta os salários multiplicados por 2.multiplicados por 2.

Page 12: Banco de Dados SQL 2 Profa. Ceça. Ceça Moraes2 Visão Gráfica do Exemplo

Ceça MoraesCeça Moraes 1212

Selecionando algumas Selecionando algumas linhas da tabelalinhas da tabela Usando operadores de comparaçãoUsando operadores de comparação

– =, <>, <, >, <=, >==, <>, <, >, <=, >=– Cláusula WHERECláusula WHERE

SELECT <nome das colunas> FROM <tabelas>SELECT <nome das colunas> FROM <tabelas> WHERE <nome das coluna> <operador> WHERE <nome das coluna> <operador>

<valor> <valor>

– Se o valor for do tipo caractere deve estar entre Se o valor for do tipo caractere deve estar entre aspas (“).aspas (“).

Page 13: Banco de Dados SQL 2 Profa. Ceça. Ceça Moraes2 Visão Gráfica do Exemplo

Ceça MoraesCeça Moraes 1313

Selecionando linhasSelecionando linhas Listar o numPedido, o codigoProduto, e a Listar o numPedido, o codigoProduto, e a

quantidade dos produtos na tabela quantidade dos produtos na tabela ItemPedido, que tiveram 35 unidades ItemPedido, que tiveram 35 unidades vendidas.vendidas.

SELECT numPedido, codigoProduto, SELECT numPedido, codigoProduto, quan FROM ItemPedidoquan FROM ItemPedido

WHERE quan = 35WHERE quan = 35numPedidonumPedido codigoProdutocodigoProduto QuanQuan

121121 3131 3535

138138 7777 3535

Page 14: Banco de Dados SQL 2 Profa. Ceça. Ceça Moraes2 Visão Gráfica do Exemplo

Ceça MoraesCeça Moraes 1414

Selecionando linhas Selecionando linhas Listar os nomes dos clientes da cidade de São Listar os nomes dos clientes da cidade de São

PauloPaulo

SELECT nomeCliente FROM ClienteSELECT nomeCliente FROM Cliente

WHERE cidade = “São Paulo” WHERE cidade = “São Paulo”

Page 15: Banco de Dados SQL 2 Profa. Ceça. Ceça Moraes2 Visão Gráfica do Exemplo

Ceça MoraesCeça Moraes 1515

Selecionando linhasSelecionando linhas

Usando operadores lógicosUsando operadores lógicos– AND, OR, NOTAND, OR, NOT

Listar os produtos que tenham unidade Listar os produtos que tenham unidade igual a “M” e valor unitario igual a R$ igual a “M” e valor unitario igual a R$ 1,05 1,05

SELECT descricaoProduto FROM Produto SELECT descricaoProduto FROM Produto

WHERE unidade = “M” AND valUnit = 1.05;WHERE unidade = “M” AND valUnit = 1.05;

DESCRICAOPRODUTODESCRICAOPRODUTO

PapelPapel

Page 16: Banco de Dados SQL 2 Profa. Ceça. Ceça Moraes2 Visão Gráfica do Exemplo

Ceça MoraesCeça Moraes 1616

Selecionando linhasSelecionando linhasAND, OR, NOTAND, OR, NOT Liste o código, nome, endereço e cidade de Liste o código, nome, endereço e cidade de

clientes que moram na cidade de São Paulo clientes que moram na cidade de São Paulo OUOU cujo código esteja na faixa entre 200 cujo código esteja na faixa entre 200 EE 300300

SELECT codigoCliente, nomeCliente, endereco, SELECT codigoCliente, nomeCliente, endereco, cidadecidade

FROM ClienteFROM Cliente

WHERE cidade="São Paulo“ OR (codigoCliente WHERE cidade="São Paulo“ OR (codigoCliente >= 200 and codigoCliente <= 300);>= 200 and codigoCliente <= 300);

Page 17: Banco de Dados SQL 2 Profa. Ceça. Ceça Moraes2 Visão Gráfica do Exemplo

Ceça MoraesCeça Moraes 1717

Selecionando linhasSelecionando linhasAND, OR, NOTAND, OR, NOT

Page 18: Banco de Dados SQL 2 Profa. Ceça. Ceça Moraes2 Visão Gráfica do Exemplo

Ceça MoraesCeça Moraes 1818

Selecionando linhasSelecionando linhasAND, OR, NOTAND, OR, NOT Mostrar todos os pedidos que não tenham Mostrar todos os pedidos que não tenham

prazo de entrega igual a 15 diasprazo de entrega igual a 15 dias SELECT numPedido , prazoEntregaSELECT numPedido , prazoEntrega FROM Pedido FROM Pedido WHERE NOT (prazoEntrega = 15);WHERE NOT (prazoEntrega = 15);

OU OU SELECT numPedido, prazoEntregaSELECT numPedido, prazoEntregaFROM PedidoFROM PedidoWHERE prazoEntrega <> 15WHERE prazoEntrega <> 15

Page 19: Banco de Dados SQL 2 Profa. Ceça. Ceça Moraes2 Visão Gráfica do Exemplo

Ceça MoraesCeça Moraes 1919

Selecionando linhasSelecionando linhasBetween e Not BetweenBetween e Not Between Uso em substituição aos operadores Uso em substituição aos operadores

<= e >=<= e >= IntervalosIntervalos

WHERE <nome das coluna> WHERE <nome das coluna> BETWEEN <valor1> AND <valor2>BETWEEN <valor1> AND <valor2>

WHERE <nome das coluna> NOT WHERE <nome das coluna> NOT BETWEEN <valor1> AND <valor2>BETWEEN <valor1> AND <valor2>

Page 20: Banco de Dados SQL 2 Profa. Ceça. Ceça Moraes2 Visão Gráfica do Exemplo

Ceça MoraesCeça Moraes 2020

Selecionando linhasSelecionando linhasBetween e Not BetweenBetween e Not Between

Listar o código e a descrição dos produtos que Listar o código e a descrição dos produtos que tenham o valor unitário na faixa de R$ 0,32 até tenham o valor unitário na faixa de R$ 0,32 até R$ 2,00R$ 2,00

SELECT codigoProduto, descricaoProduto, valUnitSELECT codigoProduto, descricaoProduto, valUnit

FROM ProdutoFROM Produto

WHERE valUnit BETWEEN 0.32 AND 2.00;WHERE valUnit BETWEEN 0.32 AND 2.00;

Page 21: Banco de Dados SQL 2 Profa. Ceça. Ceça Moraes2 Visão Gráfica do Exemplo

SELECT codigoProduto, descricaoProduto, SELECT codigoProduto, descricaoProduto, valUnitvalUnit

FROM ProdutoFROM Produto

WHERE valUnit BETWEEN 0.32 AND 2.00;WHERE valUnit BETWEEN 0.32 AND 2.00;

Ceça MoraesCeça Moraes 2121

Page 22: Banco de Dados SQL 2 Profa. Ceça. Ceça Moraes2 Visão Gráfica do Exemplo

Ceça MoraesCeça Moraes 2222

Selecionando linhasSelecionando linhasLIKE e Not LIKELIKE e Not LIKE Operadores baseados em Operadores baseados em stringstring de de

caracteres LIKE e NOT LIKEcaracteres LIKE e NOT LIKE Só usamos para colunas do tipo CHARSó usamos para colunas do tipo CHAR Usam os símbolos %,* e _ que fazem Usam os símbolos %,* e _ que fazem

substituiçõessubstituições– (% ou *) - substitui uma palavra(% ou *) - substitui uma palavra– (_ ou ?) - substitui um caractere(_ ou ?) - substitui um caractere– MS Access usa * e ?MS Access usa * e ?

WHERE <nome das coluna> LIKE <valor>WHERE <nome das coluna> LIKE <valor> WHERE <nome das coluna> NOT LIKE WHERE <nome das coluna> NOT LIKE

<valor><valor>

Page 23: Banco de Dados SQL 2 Profa. Ceça. Ceça Moraes2 Visão Gráfica do Exemplo

Ceça MoraesCeça Moraes 2323

Exemplo usando LIKEExemplo usando LIKE

LIKE “LAPIS%” ou LIKE “LAPIS*” pode LIKE “LAPIS%” ou LIKE “LAPIS*” pode enxergar os seguintes registros:enxergar os seguintes registros:– ‘‘LAPIS PRETO’LAPIS PRETO’– ‘‘LAPIS CERA’LAPIS CERA’– ‘‘LAPIS BORRACHA’LAPIS BORRACHA’

LIKE “BROCA N_” pode enxergar os LIKE “BROCA N_” pode enxergar os seguintes registros:seguintes registros:– ‘‘BROCA N1’BROCA N1’– ‘‘BROCA N2’BROCA N2’– ‘‘BROCA N9’BROCA N9’

Page 24: Banco de Dados SQL 2 Profa. Ceça. Ceça Moraes2 Visão Gráfica do Exemplo

Ceça MoraesCeça Moraes 2424

Exemplo usando LIKEExemplo usando LIKE

Listar todos os produtos que tenham Listar todos os produtos que tenham o seu nome começando por C.o seu nome começando por C.SELECT codigoProduto,descricaoProdutoSELECT codigoProduto,descricaoProdutoFROM ProdutoFROM ProdutoWHERE descricaoProduto Like "C*"WHERE descricaoProduto Like "C*"

Page 25: Banco de Dados SQL 2 Profa. Ceça. Ceça Moraes2 Visão Gráfica do Exemplo

Ceça MoraesCeça Moraes 2525

Exemplo usando LIKEExemplo usando LIKE

Listar todos os produtos que tenham Listar todos os produtos que tenham o seu nome começando por C.o seu nome começando por C.SELECT codigoProduto,descricaoProdutoSELECT codigoProduto,descricaoProdutoFROM ProdutoFROM ProdutoWHERE descricaoProduto Like "C*"WHERE descricaoProduto Like "C*"

Page 26: Banco de Dados SQL 2 Profa. Ceça. Ceça Moraes2 Visão Gráfica do Exemplo

Exemplo usando LIKEExemplo usando LIKE Listar nome e cidade dos clientes cuja UF termina com “P”Listar nome e cidade dos clientes cuja UF termina com “P”

SELECT nomeCliente, UFSELECT nomeCliente, UF

FROM ClienteFROM Cliente

WHERE UF Like '*P'WHERE UF Like '*P'

Ceça MoraesCeça Moraes 2626

Page 27: Banco de Dados SQL 2 Profa. Ceça. Ceça Moraes2 Visão Gráfica do Exemplo

2727

ExercíciosExercícios1.1. Listar os vendedores cujo nome não Listar os vendedores cujo nome não

começa por “Jo”começa por “Jo”2.2. Listar o nome e o endereço de todos os Listar o nome e o endereço de todos os

clientes da cidade de Recife ou do clientes da cidade de Recife ou do estado da Bahiaestado da Bahia

3.3. Mostrar todos os pedidos que tenham Mostrar todos os pedidos que tenham prazo de entrega igual a 20 diasprazo de entrega igual a 20 dias

4.4. Listar todos os produtos que tenham o Listar todos os produtos que tenham o seu nome começando por M ou Vseu nome começando por M ou V

5.5. Listar os produtos cujos preços variem Listar os produtos cujos preços variem entre R$ 0,10 e R$ 0,30entre R$ 0,10 e R$ 0,30

Page 28: Banco de Dados SQL 2 Profa. Ceça. Ceça Moraes2 Visão Gráfica do Exemplo

2828

ExercíciosExercícios6.6. Listar o código e nome do vendedor Listar o código e nome do vendedor

que têm nome iniciano com a letra que têm nome iniciano com a letra “P”, faixa de comissao = “C” e cujo “P”, faixa de comissao = “C” e cujo salário esteja entre 1000 e 2000. salário esteja entre 1000 e 2000.

7.7. Listar os produtos que nâo têm Listar os produtos que nâo têm descrição.descrição.