Banco de Dados SQL 2 Profa. Ceça Visão Gráfica do Exemplo Ceça Moraes 2 MS Access: BDExemploSQL2.mdb Ceça Moraes 3 Extraindo dados de tabelas SELECT SELECT <colunas> FROM <tabelas> [WHERE <condição> ]  SELECT <colunas>  Colunas da consulta separadas por vírgula  FROM <tabelas> – Tabelas da consulta separadas por vírgula  WHERE <condição>] – Condição lógica para seleção de linhas Ceça Moraes 4 SELECT Exemplo 1 Listar todos os produtos com respectivas descrições, unidades, valores unitários SELECT descricaoProduto, unidade, valorUnit FROM produto;  A execução desse comando irá listar todas as linhas da tabela produtos  Ceça Moraes 5 SELECT Exemplo 2  Listar o CGC, o nome e o endereço de todos os clientes SELECT CGC, nomeCliente, endereco FROM Cliente; Ceça Moraes 6 SELECT Exemplo 3 Selecionando todas as colunas de uma tabela SELECT * FROM <tabela>  Listar todo o conteúdo de vendedor SELECT * FROM vendedor  Resultado: todos os vendedores  Ceça Moraes 7 Alterando o cabeçalho (header) da coluna Por default, o cabeçalho apresentado no resultado do SELECT é o nome da coluna da tabela  É possível modificá-lo: SELECT nome_coluna AS cabecalho, ... FROM nome_da_tabela  Ceça Moraes 8 Exemplo : Mudando o cabeçalho SELECT codigoVendedor AS [Número do Vendedor], nomeVendedor AS [Nome do Vendedor], salarioFixo AS rendimentos, faixaComissao AS comissao FROM Vendedor Ceça Moraes 9 Manipulando dados numéricos  Operadores aritméticos podem ser usados sobre qualquer coluna numérica – +, -, /, *, %  Exemplo: SELECT nomeVendedor, (salarioFixo * 2) AS [Salário Dobrado] FROM Vendedor Ceça Moraes 10 Manipulando dados numéricos Exemplo  O resultado apresenta os salários multiplicados por 2. Ceça Moraes 11 Selecionando algumas linhas da tabela  Usando operadores de comparação – =, <>, <, >, <=, >= – Cláusula WHERE SELECT <nome das colunas> FROM <tabelas> WHERE <nome das coluna> <operador> <valor> – Se o valor for do tipo caractere deve estar entre aspas (“). Ceça Moraes 12 Selecionando linhas  Listar o numPedido, o codigoProduto, e a quantidade dos produtos na tabela ItemPedido, que tiveram 35 unidades vendidas. SELECT numPedido, codigoProduto, quan FROM ItemPedido WHERE quan = 35 numPedido codigoProduto Quan 121 31 35 138 77 35 Ceça Moraes 13 Selecionando linhas  Listar os nomes dos clientes da cidade de São Paulo SELECT nomeCliente FROM Cliente WHERE cidade = “São Paulo” Ceça Moraes 14 Selecionando linhas  Usando operadores lógicos – AND, OR, NOT  Listar os produtos que tenham unidade igual a “M” e valor unitario igual a R$ 1,05 SELECT descricaoProduto FROM Produto WHERE unidade = “M” AND valUnit = 1.05; DESCRICAOPRODUTO Papel Ceça Moraes 15 Selecionando linhas AND, OR, NOT Liste o código, nome, endereço e cidade de clientes que moram na cidade de São Paulo OU cujo código esteja na faixa entre 200 E 300 SELECT codigoCliente, nomeCliente, endereco, cidade FROM Cliente WHERE cidade="São Paulo“ OR (codigoCliente >= 200 and codigoCliente <= 300);  Ceça Moraes 16 Selecionando linhas AND, OR, NOT Ceça Moraes 17 Selecionando linhas AND, OR, NOT Mostrar todos os pedidos que não tenham prazo de entrega igual a 15 dias SELECT numPedido , prazoEntrega FROM Pedido WHERE NOT (prazoEntrega = 15); OU SELECT numPedido, prazoEntrega FROM Pedido WHERE prazoEntrega <> 15  Ceça Moraes 18 Selecionando linhas Between e Not Between Uso em substituição aos operadores <= e >=  Intervalos WHERE <nome das coluna> BETWEEN <valor1> AND <valor2>  WHERE <nome das coluna> NOT BETWEEN <valor1> AND <valor2> Ceça Moraes 19 Selecionando linhas Between e Not Between  Listar o código e a descrição dos produtos que tenham o valor unitário na faixa de R$ 0,32 até R$ 2,00 SELECT codigoProduto, descricaoProduto, valUnit FROM Produto WHERE valUnit BETWEEN 0.32 AND 2.00; Ceça Moraes 20 SELECT codigoProduto, descricaoProduto, valUnit FROM Produto WHERE valUnit BETWEEN 0.32 AND 2.00; Ceça Moraes 21 Selecionando linhas LIKE e Not LIKE Operadores baseados em string de caracteres LIKE e NOT LIKE  Só usamos para colunas do tipo CHAR  Usam os símbolos %,* e _ que fazem substituições  – (% ou *) - substitui uma palavra – (_ ou ?) - substitui um caractere – MS Access usa * e ? WHERE <nome das coluna> LIKE <valor> WHERE <nome das coluna> NOT LIKE <valor> Ceça Moraes 22 Exemplo usando LIKE  LIKE “LAPIS%” ou LIKE “LAPIS*” pode enxergar os seguintes registros: – ‘LAPIS PRETO’ – ‘LAPIS CERA’ – ‘LAPIS BORRACHA’  LIKE “BROCA N_” pode enxergar os seguintes registros: – ‘BROCA N1’ – ‘BROCA N2’ – ‘BROCA N9’ Ceça Moraes 23 Exemplo usando LIKE  Listar todos os produtos que tenham o seu nome começando por C. SELECT codigoProduto,descricaoProduto FROM Produto WHERE descricaoProduto Like "C*" Ceça Moraes 24 Exemplo usando LIKE  Listar todos os produtos que tenham o seu nome começando por C. SELECT codigoProduto,descricaoProduto FROM Produto WHERE descricaoProduto Like "C*" Ceça Moraes 25 Exemplo usando LIKE  Listar nome e cidade dos clientes cuja UF termina com “P” SELECT nomeCliente, UF FROM Cliente WHERE UF Like '*P' Ceça Moraes 26 Exercícios 1. 2. 3. 4. 5. Listar os vendedores cujo nome não começa por “Jo” Listar o nome e o endereço de todos os clientes da cidade de Recife ou do estado da Bahia Mostrar todos os pedidos que tenham prazo de entrega igual a 20 dias Listar todos os produtos que tenham o seu nome começando por M ou V Listar os produtos cujos preços variem entre R$ 0,10 e R$ 0,30 27 Exercícios 6. 7. Listar o código e nome do vendedor que têm nome iniciano com a letra “P”, faixa de comissao = “C” e cujo salário esteja entre 1000 e 2000. Listar os produtos que nâo têm descrição. 28