Banco de dados
O Comando Select O comando Select, como sugere o nome, é aplicado nas operações que objetivam acessar dados nas estruturas de esquema, para interação e visualização. Agregado às cláusulas From (de uso obrigatório), Where, Order By, Group By e Having (uso opcional), compõe um mecanismo eficiente e flexível para conjugar uma necessidade de visão de dados. Comparado com qualquer dialeto das diversas ferramentas existentes, apresenta uma facilidade com redução substancial da S”ipe to next;Ege escrita do código.
Na seqüência, de for Select com seus agre xemplo do tópico Comando Select ar 6 emos o comando a as tabelas de SELECT Lista de colunas requeridas INTOLista de variáveis que receberão os valores (colunas) retornadas de SELECT FROM Lista de tabelas dos campos referidos em SELECT e considerados em WHERE WHERE Especifica as restrições que afetam as linhas a serem selecionadas, bem como, define a condição de junção entre as tabelas envolvidas. optimizer instead of one it would normally choose FOR UPDATE Specifies columns listed after the SELECT clause of DECLARE CURSORstatement that can be updated uslng a
WHERE CORRENT OF clause Select simples Select * From Produtos Retorna: ID_PRODUTO DESCRICAO SALDO PRECO 2 3 4 5 Teclado 1000 12 Drive 1. 44 1000 25 Mouse 1000 5 Monitor 1000 280 Gabinete 1000 40 5 rows selected. Onde: Select- Comando * Indica todas as colunas From – Cláusula que define quais as tabelas envolvidas Clientes Nome da Tabela Select Clientes. Nome, Clientes. CNPJ From Clientes NOME CNPJ Where acrescentada ao procedimento determina uma diminuição no sentido vertical, pela restrição aplicada às linhas (registros) que não atendam ao critério. Where Clientes. atacad ‘ OI 999 ‘ Order By Clientes.
Nome DATACAD Cristlne M L Branco G. Rodrigues 09-DEC-9g Dinorah Lima Branco 08-DEC-99 Pedro Henrique Rozendo Rodrigues 08-DEC-99 Raphael Malman costa 08-DEC-99 Victoria Emanuelle Alves 08-DEC-gg Com este último adendo (Order 3y), vemos o retorno de dados apresentado em uma ordem que não a natural. Vale ressaltar, que não é necessário a existência de indlces para que haja sucesso nesta operação. Porém, conforme já abordado no tópico índice, todo o beneficio inerente a existência de tais índices, se aplica aqui. Select comJoin Select Clientes. Nome, Pedidos. DataPed, Pedidos. D Cliente From Clientes, Pedidos Where Clientes. lD Cliente – Pedidos. lD Cliente arder By Pedidos. DataPed Aqui é apresentado uma instru ão ue promove um Join OunÇáo) entre duas tabela Select pode ser PAGF3t,F6 Clientes. lD Cliente. Normalmente estas referências às colunas de múltiplas tabelas (o Intercepta até 255 para comprar um Join) se dão entre as chaves primárias e chaves secundarias, sem que isto seja uma regra. Usasndo Group By e Having Select Clientes. .Quantidade*ltens. PrecoVenda). o total From Clientes, Pedidos, Itens Where Clientes. lD Cliente: Pedidos. ID Cliente AND Pedidos. D Pedido -Iten. lD Pedido Grop By Clientes. Nome Having Sum(ltens Quantidade*ltens. precovenda) 000,00 arder By Clientes. Nome DESC A clausula Gruop By promove a agregação dos elementos baseado na lista de colunas Indicada. Todas as colunas relacionadas na clausula Select devem ser referenciados em Select, as colunas retornadas pelas funções SUM, MIN, MAX e AIJ5. Na prática, a execução de uma instrução que contenha em Group By necessita de pelo menos uma função na clausula Select. A clausula Having, que é opcional, funciona como restrição para o resultado alcançado pelo agrupamento de Group 3y. ) Listar os departamentos que não possuem gerentes localizados em Monterey. SELECT * FROM department WHERE (NOT location—’Monterey’) and (mngr_no is null); 2) Listar os empregados americanos e os ingleses que ganham acima de 30. 000 e cujo primeiro nome inicia PAGF JOB WHEREJOB_REQUIREMENT IS NULL’ 4) Listar o menor salário da Inglaterra para a profissão de )SELECT MIN_SALARY AS MENOR_SALARIO FROM JOB WHEREJOB_COUNTRY IN (‘England’) AND JOB_TITLE IN(‘Engineer’); 5) Qual o produto gerado pelo projeto que não possui líder ( team leader)?
SELECT PRODUCT AS PRODUTO FROM PROJECT WHERE TEAM_LEADER IS NULL; 6) Listar as compras não despachadas e já pagas. FROM SALES WHERE PAID IN AND SHIP DATE IS NIJLL; 7) Quais as vendas de hardware despachadas? WHERE ITEM_TYPE IN (‘hardware) AND SHIP DATE IS NOT NULL; 8) Listar os funcionários engenheiros americanos cujo salário está entre 90. 000 e 110. 000. FROM EMPLOYEE WHEREJOB COUNTRY INCUSA’) AND JOB_CODE IN(‘Eng’) AND (SALARY > 90000 and SALARY < 110000); ) Listar o nome completo, de forma ordenada, dos funcionários que nao trabalham nos USA e que nao possuem número de extensão telefônica. SELECT FIRST_NAMEI I' 'l AS NOME COMPLETO customer; 2) Listar a quantidade de países por moeda (CURRENCY). select currency , count(currency) from country group by currency 3) Listar a quantidade de clientes por cidade americana? select city, count(city) frorn CUSTOMER where country in ('USA') group by city 4) Listar a quantidade de departamentos por localização (LOCATION) cujos orçamentos (BUDGET) sejam maiores que $ 400. 000. select location, count(location) rom department where budget > 400000 group by location; 5) Listar os orçamentos por departamento. elect DEPARTMENT as DEPARTMENT, sum(BUDGET) as DEPARTAMENTOS from DEPARTMENT group by DEPARTMENT; 6) Quais primeiros-nomes (FIRST_NAME) de empregados são repetidos, informando quantas vezes ocorre a repetição? select FIRST_NAME, from EMPLOYEE group by FIRST_NAME 7) Quantos códigos de empregos (JOB_CODE) dos empregados existem por pais OOB_COUNTRY)? select JOB_COUNTRY, JOB_CODE, count00B_CODE) group by JOB_COUNTRY, JOB CODE 8) Listar a quantidade de v ) realizadas por um