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