Baixe o app para aproveitar ainda mais
Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original
--> APOSTILA sql <-- - INSTANCIA DE UMA RELACAO = UMA LINHA NA TABELA, UMA TUPLA - DDL= CRIAR OU DESTRUIR COISAS DENTRO DO BANCO - DML= INSERT, DELETE,UPDATE,CONSULTA - DCL = HA DOIS COMANDOS :GRANT E REVOKE - CONCEITOS DE : TUPLA, ATRIBUTOS,RELACAO - CHAVE PRIMARIA = CRIA AUTOM. INDICE, / PREENCHIMENTO DE SEUS ATRIBUTOS SAO OBTIGATORIOS/ CRIAMOS INDICES PARA DAR SUPORTE AS CAHAVES ESTRANGEIRAS - INDICE = SERVE PARA MELHORAR A PERFOMANCE NA CONSULTA - CONSTRAINTS = SERVE PARA GARANTIR VALORES UNICOS P/ TUPLAS - CONSTRANITS UNIQUE = PODEM TER VARIAS EM UMA TABELA / CRIA INDICE - NOT NULL = OBRIGA PREENCHIMENTO DOS CAMPOS - CHAVE ESTRANGEIRA = LIGAM DUAS RELACOES / NAO CRIA INDICE ========== CONSULTAS================ // IRAO CAIR BASTANTE QUESTOES DE SELECT COMANDO SELECT ORDEM = SELECT > FROM > JUNCAO(LEFT,FULL,RIGHT) > WHERE > GROUP BY > HAVING > ORDRE BY SELECT * FROM cliente WHERE upper(nome) = upper('Charles carvalho Santos'); ------------------------------------------------------------------------ ====================PROJEÇÃO EM SQL============================================================== SELECT codcliente,nome FROM cliente; SELECT DISTINCT codcliente FROM venda;// Elimina as tuplas(linhas) duplicadas SELECT DISTINCT codcliente,codvendedor FROM venda; SELECT codcliente cliente, cpf, identidade id FROM fisico; // mudar o nome das colunas - insere apelido nas tabelas SELECT codproduto AS Item, valor,quantidade, valor*quantidade AS Total FROM itemvenda; // AS = OUTRA FORMA DE REFERENCIAR O APELIDO; ------------------------------------------------------------------------------------------ ==================================SELEÇÃO==================================================== SELECT * FROM produto WHERE estoquemin > 400 AND estoquemax < 8000; SELECT codvenda FROM venda WHERE dataentrega > '12-Ago-2004'; -------------------------------------------------------------------------------------------------- USANSO COMANDO LIKE (TRAZER CLIENTES QUE COMECEM COM A LETRA C ) SELECT NOME FROM CLIENTE WHERE NOME LIKE'C%'; SELECT NOME FROM CLIENTE WHERE NOME LIKE'%LTDA'; // RETORNA TODO MUNDO QUE TERMINE COM AS PALAVRAS 'LTDA' SELECT NOME FROM CLIENTE WHERE NOME LIKE'%EIRA%';// RETORNA PESSOAS COM PARTES NO MEIO DO NOME REFERENTE A STRING SOLICITADO -------------------------------------------------------------------------------------------------------------------------- ==================================== ORDENAÇÃO DOS RESULTADOS = ORDER BY ================================================== SELECT * FROM cliente ORDER BY nome; SELECT codvenda,quantidade FROM itemvenda WHERE codproduto=1 ORDER BY quantidade DESC; SELECT codvendedor,nome FROM vendedor ORDER BY 2,1 ; SELECT *from venda ORDER BY 3 desc ; // Ordenar em ordem descrente a tabela numero:3 da tabela venda; ------------------------------------------------------------------- ========================================================================== UNION = ELIMINA AS LINHAS COM NOMES REPETIDOS (DUPLICADAS)/ e mais lento que o union all UNIO ALL = NÃO ELIMINA AS LINHAS REPETIDAS. SLEECT NOME FROM CLIENTE UNION ALL SELECT NOME FROM VENDEDOR; ------------------------------------------------------------------------------------------------ união das relações SELECT codcliente FROM fisico UNION SELECT codcliente FROM juridico; ------------------------------------------------ Interseção da relação SELECT codcliente FROM cliente INTERSECT SELECT codcliente FROM juridico; ------------------------------------------------ • Produto Cartesiano // Une a linha individualmente , com todas as linhas de outra tabela, multiplicando Álgebra relacional : cliente X fisico SELECT * FROM cliente, fisico; • Junção Natural Álgebra relacional : cliente x físico SELECT nome,cpf FROM cliente, fisico WHERE cliente.codcliente = fisico.codcliente; ====================================================== SELECT nome,cpf FROM cliente, fisico WHERE cliente.codcliente = fisico.codcliente (+); // (OUTER JOIN) Inclui todos os registros da tabela,msm q o cliente nao tenha o CPF, ele retorna vazio (nulo) . Inserir o simbolo (+) sempre a direita, onde o dado pode nao existir. ---------------------------------------------------------------- Agregação - operadores • O SQL tem 5 operadores que são aplicáveis a um campo de uma tabela produzindo uma espécie de agregação dos valores desse campo. • SUM produz a soma dos valores do campo nos diferentes registros. • AVG produz a média dos valores do campo. • MAX dá como resultado o valor máximo no campo. • MIN dá como resultado o valor mínimo no campo. • COUNT indica o número de valores do campo incluindo duplicados, a não ser que estes sejam eliminados com DISTINCT. select count (*) // conta a quantidade de linhas from venda; ----------------------------------------------------------------------------------------------------------------------------------- =============================================EXCLUSÃO============ DELETE FROM TESTE WHERE CODIGO = 1; ===================================UPDATE================================== UPDATE fornecedor SET telefone='3322-9857', contato='Ubirajara' WHERE codfornecedor =1; update vendedor set telefone='97228-6477' where nome='Douglas Ferreira Ramos'; --------------------------------------------------------------------------------------------------------------- =======================================INSERT====================================== INSERT INTO VENDEDOR(codcliente,nome) // Inserindo tupla na tabela vendedor VALUES (99,'Douglas Ferreira Ramos'); SELECT CODCLIENTE,NOME FROM CLIENTE; * CAMPOS COM NOT NULL, OBRIGATORIO ESTAR NA INSERCAO. ------------------------------------------------------------------------------------------------------------------------- ===================GROUP BY ======================: permite fazer a contabilidade com somarização; select codvendedor, count(*) QtdVendas from venda Group By codvendedor; select codvendedor, count(*) from venda group by codvendedor having count (*) > 2; ----------------------------------------------------------------------------------------------------------------------
Compartilhar