Principais Instruções em SQL



Documentos relacionados
1. SQL Instrumental Select Delete Update Insert Group by Having Unnion All...

Principais Instruções em SQL. Contidas nesta apostila as principais instruções em SQL para a manutenção em Bancos de Dados.

SQL Linguagem de Manipulação de Dados. Banco de Dados Profa. Dra. Cristina Dutra de Aguiar Ciferri

SQL comando SELECT. SELECT [DISTINCT] <campos> FROM <tabela> [condição] [ ; ] Paulo Damico - MDK Informática Ltda.

Comandos de Manipulação

Structured Query Language (SQL)

Linguagem de Consulta Estruturada SQL- DML

LINGUAGEM SQL PARA CONSULTAS EM MICROSOFT ACCESS

LINGUAGEM SQL PARA CONSULTAS EM MICROSOFT ACCESS

Ex.: INSERT INTO tmpautor (CDAUTOR, NMAUTOR) VALUES (1, Renato Araújo )

SQL. Structured Query Language. Copyright Prof. Edison Andrade Martins Morais

Tarefa Orientada 15 Manipulação de dados

3) Palavra-chave distinct (select-from). Obter apenas os pibs distintos entre si.

Tarefa Orientada 10 Obter informação a partir de uma tabela

ORACLE 11 G INTRODUÇÃO AO ORACLE, SQL,PL/SQL. Carga horária: 32 Horas

UNIVERSIDADE FEDERAL DE SANTA MARIA - UFSM COLÉGIO AGRÍCOLA DE FREDERICO WESTPHALEN BANCO DE DADOS II

Treinamento sobre SQL

Tarefa Orientada 13 Agrupamento e sumário de dados

Ex.: INSERT INTO tmpautor (CDAUTOR, NMAUTOR) VALUES (1, Renato Araújo )

IF685 Gerenciamento de Dados e Informação - Prof. Robson Fidalgo 1

Tarefa Orientada 16 Vistas

SQL (Structured Querie Language) Escola Secundária de Emídio Navarro 2001/2002 Estruturas, Tratamento e Organização de Dados

Tarefa Orientada 12 Junção Externa, Auto-Junção e União

EXERCÍCIOS PRÁTICOS. Banco de Dados

NOME SEXO CPF NASCIMENTO SALARIO

Banco de Dados. Marcio de Carvalho Victorino Exercícios SQL

Memória de aula Semanas 15 e 16

Introdução à linguagem SQL

Banco de Dados Oracle 10g: Introdução à Linguagem SQL

Introdução à Banco de Dados. Nathalia Sautchuk Patrício

Roteiro 9 - SQL Básico: chave estrangeira, operadores de comparação e operadores booleanos

Bases de Dados 2005/2006. Aula 5

Tarefa Orientada 11 Junção Interna

Introdução ao Tableau Server 7.0

BDII SQL Junção Revisão 8

Bem-vindo ao tópico sobre consultas no SAP Business One.

Programação WEB II. PHP e Banco de Dados. progweb2@thiagomiranda.net. Thiago Miranda dos Santos Souza

Álgebra Relacional. Conjunto de operações que usa uma ou duas relações como entrada e gera uma relação de saída. Operações básicas:

Comandos DDL. id_modulo = id_m odulo

Banco de Dados. Prof. Antonio

SQL TGD/JMB 1. Projecto de Bases de Dados. Linguagem SQL

Uma expressão básica em SQL consiste em três cláusulas: select, from e where.

Profº Aldo Rocha. Banco de Dados

SQL UMA ABORDAGEM INTERESSANTE

Faça um Site PHP 5.2 com MySQL 5.0 Comércio Eletrônico

Introdução ao SQL. Aécio Costa

BANCO DE DADOS -INTRODUÇÃO AO SQL. Prof. Angelo Augusto Frozza, M.Sc.

EXEMPLOS DE COMANDOS NO SQL SERVER

f. Vocês podem selecionar todos os campos indicando-os, ou seja, sem usar * (boa prática) g. Muito relevante na manutenção de BD e de aplicações.

MICROSOFT EXCEL AVANÇADO

Os dados no MySQL são armazenado em tabelas. Uma tabela é uma colecção de informação relacionada e consiste em colunas e linhas.

Gatilhos (Triggers) Prof. Márcio Bueno Elaborado por Maria Lígia B. Perkusich

SQL consulta com operadores

SQL DML. Frederico D. Bortoloti

Tarefa Orientada 14 Subconsultas

Tarefa Orientada 19 Triggers

Lidar com números e estatísticas não é fácil. Reunir esses números numa apresentação pode ser ainda mais complicado.

Microsoft Access: Criar consultas para um novo banco de dados. Vitor Valerio de Souza Campos

Junções e Índices em Tabelas

APOSTILA BANCO DE DADOS INTRODUÇÃO A LINGUAGEM SQL

Rápida revisão do Modelo Relacional

IMPLEMENTAÇÃO DE BANCO DE DADOS

PHP INTEGRAÇÃO COM MYSQL PARTE 1

Pedro F. Carvalho OCP Oracle g LINGUAGEM SQL. São José do Rio Preto

Introdução aos critérios de consulta. Um critério é semelhante a uma fórmula é uma cadeia de caracteres que pode consistir em

Principais Comandos SQL Usados no MySql

Projeto de Banco de Dados

MODELO DE DADOS VS ESQUEMA

Introdução ao SQL Avançado

Revisando sintaxes SQL e criando programa de pesquisa. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011

Fluxo de trabalho do Capture Pro Software: Indexação de OCR e separação de documentos de código de correção

Controle de transações em SQL

1. Assinale as afirmações que são verdadeiras e as que são falsas, corrigindo-as:

Prof.: Clayton Maciel Costa

SQL. SQL (Structured Query Language) Comando CREATE TABLE. SQL é uma linguagem de consulta que possibilita:

INSTALAÇÃO DO SISTEMA CONTROLGÁS

Kobo Desktop. Manual do Usuário

Linguagem de Consulta - SQL

Como gerar arquivos para Sphinx Operador

AJUDA DO FSYNCH. O que o FSynch faz? Como o FSynch funciona?

UFCD 787. Administração de base de dados. Elsa Marisa S. Almeida

SQL é uma linguagem de consulta que implementa as operações da álgebra relacional de forma bem amigável.

Faculdade Pitágoras 16/08/2011. Curso Superior de Tecnologia: Banco de Dados Sistemas para Internet

1 Inicie um novo. Guia de Referência Rápida de Gerenciamento de Projeto para o Project projeto

Faculdade Pitágoras. Curso Superior de Tecnologia: Banco de Dados. Disciplina: Banco de Dados Prof.: Fernando Hadad Zaidan SQL

Texto Base Livro texto: SQL Guia Prático 2ª Edição Rogério Luís de C. Costa. Banco de Dados II Comando Select. Gustavo Dibbern Piva

Criando Banco de Dados, Tabelas e Campos através do HeidiSQL. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011

Linguagem SQL Parte I

Curso PHP Aula 08. Bruno Falcão

Especificação de Requisitos

Google Drive: Acesse e organize seus arquivos

MANUAL DE ATUALIZAÇÃO DE VERSÃO DE PAF-ECF

Linguagem de Consulta Estruturada (SQL)

Barra de ferramentas padrão. Barra de formatação. Barra de desenho Painel de Tarefas

BANCO DE DADOS II Prof. Ricardo Rodrigues Barcelar

Introdução à Engenharia da Computação. Banco de Dados Professor Machado

Transcrição:

Instrução Principais Instruções em SQL Instrui o programa principal do banco de dados para retornar a informação como um conjunto de registros. Sintaxe [predicado { * tabela.* [tabela.]campo1 [AS alias1] [, [tabela.]campo2 [AS alias2] [,...]]} FROM expressãotabela [,...] [WHERE... ] [GROUP BY... ] [HAVING... ] [ORDER BY... ] A instrução tem as partes abaixo: Parte Descrição * Especifica que todos os campos da tabela ou tabelas especificadas são selecionados. tabela O nome da tabela que contém os campos dos quais os registros são selecionados. campo1, campo2 Os nomes dos campos dos quais os dados serão recuperados. Se você incluir mais de um campo, eles serão recuperados na ordem listada. alias1, alias2 Os nomes que serão usados como títulos de colunas em vez dos nomes originais das colunas na tabela. Comentários Para executar esta operação, o programa principal de banco de dados procura a tabela ou tabelas especificadas, extrai as colunas escolhidas, seleciona as linhas que satisfazem o critério e classifica ou agrupa as linhas resultantes na ordem especificada. A instrução não muda os dados no banco de dados. é normalmente a primeira palavra em uma instrução SQL. A maior parte das instruções SQL são instruções.

A sintaxe mínima da instrução é: campos FROM tabela Você pode usar um asterisco (*) para selecionar todos os campos na tabela. O exemplo abaixo seleciona todos os campos na tabela clientes : * FROM PRODUTOS PRODUTOS.COD_PRODUTO, PRODUTOS.DESCRICAO1 FROM PRODUTOS Utilizando Alias PRODUTOS.COD_PRODUTO as codigo, PRODUTOS.DESCRICAO1 as descricao FROM PRODUTOS Utilizando Where Os operadores podem ser, (=, <>, >,<, >=, <=, in, not in, like, not like, between ) Operador igual (=) PRODUTOS.COD_PRODUTO as codigo, PRODUTOS.DESCRICAO1 as descricao FROM PRODUTOS WHERE TIPO_PROD = 'MP' Operador (IN) PRODUTOS.COD_PRODUTO as codigo, PRODUTOS.DESCRICAO1 as descricao FROM PRODUTOS

WHERE TIPO_PROD in ( 'MP', 'MC') Operador (<>) N_DOCUMENTO AS TITULO, DATA_EMISSAO AS EMISSAO, DATA_VENCIMENTO AS VENCIMENTO, VALOR_INICIAL AS VALOR FROM LANCAMENTOS WHERE GERADOR <>'C' Operadores (>, <, >=, <=) N_DOCUMENTO AS TITULO, DATA_EMISSAO AS EMISSAO, DATA_VENCIMENTO AS VENCIMENTO, VALOR_INICIAL AS VALOR FROM LANCAMENTOS WHERE VALOR_INICIAL>0 Operador (in, not in) * FROM CORES WHERE COD_COR IN ('001','002','003','004') Operador (Like, not like) * FROM CLIENTES WHERE NOME LIKE '%LTDA%' Operador (Between) FROM SAIDA, ROMANEIO, DATA, TOTAL SAIDAS WHERE DATA BETWEEN '01/01/08' AND '01/31/08' Utilizando Join

Left Join Right join Inner join Full join Mostra Todos os dados da tabela à esquerda mesmo que a da direita não exista registro Mostra Todos os dados da tabela à esquerda mesmo que a da esquerda não exista Mostra os dados somente se existis nas duas tabelas relacionadas mostra tudo das duas tabelas (Left Join ) FROM CLIENTES CLIENTES.NOME, SAIDAS.DATA, SAIDAS.ROMANEIO, SAIDAS.VALOR_FINAL LEFT JOIN SAIDAS ON SAIDAS.CLIENTE = CLIENTES.CLIENTE ORDER BY CLIENTES.NOME (INNER JOIN) FROM CLIENTES CLIENTES.NOME, SAIDAS.DATA, SAIDAS.ROMANEIO, SAIDAS.VALOR_FINAL INNER JOIN SAIDAS ON SAIDAS.CLIENTE = CLIENTES.CLIENTE ORDER BY CLIENTES.NOME (RIGHT JOIN) CLIENTES.NOME, SAIDAS.DATA, SAIDAS.ROMANEIO, SAIDAS.VALOR_FINAL FROM CLIENTES RIGHT JOIN SAIDAS ON SAIDAS.CLIENTE = CLIENTES.CLIENTE ORDER BY CLIENTES.NOME (FULL JOIN)

CLIENTES.NOME, SAIDAS.DATA, SAIDAS.ROMANEIO, SAIDAS.VALOR_FINAL FROM CLIENTES FULL JOIN SAIDAS ON SAIDAS.CLIENTE = CLIENTES.CLIENTE ORDER BY CLIENTES.NOME (Utilizando o group by) CLIENTES.NOME, SUM(saidas.valor_final) FROM CLIENTES LEFT JOIN SAIDAS ON SAIDAS.CLIENTE = CLIENTES.CLIENTE GROUP BY CLIENTES.NOME GROUP BY é opcional. Valores de resumo são omitidos se não houver qualquer função aggregate SQL na instrução. Os valores Null nos campos GROUP BY são agrupados e não omitidos. No entanto, os valores Null não são avaliados em qualquer função aggregate SQL. Todos os campos na lista de campos devem ser incluídos na cláusula GROUP BY ou incluídos como argumentos em uma função aggregate SQL.

pe.quantidade, sum(pe.quantidade*pe.preco)as valor FROM saidas S INNER JOIN EVENTOS E ON E.EVENTO = S.evento and e.tipo_saida = 'V' inner join PRODUTOS_EVENTOS pe on pe.tipo_operacao = 'S' and pe.cod_operacao = s.saida inner join clientes c on c.cliente = s.cliente inner join produtos p on p.produto = pe.produto where s.data>='04/01/08' group by pe.quantidade Use a cláusula WHERE para excluir linhas que você não quer agrupadas e use a cláusula HAVING para filtrar os registros após eles terem sido agrupados. HAVING é opcional. HAVING é semelhante a WHERE, que determina quais registros são selecionados. Depois que os registros são agrupados com GROUP BY, HAVING determina quais registros são exibidos: Uma cláusula HAVING pode conter até 40 expressões vinculadas por operadores lógicos, como And ou Or. pe.quantidade, sum(pe.quantidade*pe.preco)as valor FROM saidas S INNER JOIN EVENTOS E ON E.EVENTO = S.evento and e.tipo_saida = 'V' inner join PRODUTOS_EVENTOS pe on pe.tipo_operacao = 'S' and pe.cod_operacao = s.saida inner join clientes c on c.cliente = s.cliente inner join produtos p on p.produto = pe.produto where s.data>='04/01/08' group by

pe.quantidade having sum(pe.quantidade*pe.preco)>20000 Cláusula ORDER BY ORDER BY é opcional. Entretanto, se você quiser exibir seus dados na ordem classificada, você deve utilizar ORDER BY. O padrão ordem de classificação é ascendente (A a Z, 0 a 9). Os dois exemplos abaixo classificam os nomes dos funcionários pelo sobrenome. pe.quantidade, count(s.saida), sum(pe.quantidade*pe.preco)as valor FROM saidas S INNER JOIN EVENTOS E ON E.EVENTO = S.evento and e.tipo_saida = 'V' inner join PRODUTOS_EVENTOS pe on pe.tipo_operacao = 'S' and pe.cod_operacao = s.saida inner join clientes c on c.cliente = s.cliente inner join produtos p on p.produto = pe.produto where s.data>='04/01/08' group by pe.quantidade having sum(pe.quantidade*pe.preco)>2000 order by s.data

Para classificar em ordem descendente (Z a A, 9 a 0), adicione a palavra reservada DESC ao final de cada campo que você quiser classificar em ordem descendente. O exemplo abaixo seleciona salários e os classifica em ordem descendente pe.quantidade, count(s.saida), sum(pe.quantidade*pe.preco)as valor FROM saidas S INNER JOIN EVENTOS E ON E.EVENTO = S.evento and e.tipo_saida = 'V' inner join PRODUTOS_EVENTOS pe on pe.tipo_operacao = 'S' and pe.cod_operacao = s.saida inner join clientes c on c.cliente = s.cliente inner join produtos p on p.produto = pe.produto where s.data>='04/01/08' group by pe.quantidade having sum(pe.quantidade*pe.preco)>2000 order by s.data desc Declaração UPDATE Cria uma consulta atualização que altera os valores dos campos em uma tabela especificada com base em critérios específicos. Sintaxe UPDATE tabela SET valornovo WHERE critério;

A instrução UPDATE tem as partes abaixo: Parte tabela valornovo critério Descrição O nome da tabela cujos os dados você quer modificar. Uma expressão que determina o valor a ser inserido em um campo específico nos registros atualizados. Uma expressão que determina quais registros devem ser atualizados. Só os registros que satisfazem a expressão são atualizados. Comentários UPDATE é especialmente útil quando você quer alterar muitos registros ou quando os registros que você quer alterar estão em várias tabelas. Você pode alterar vários campos ao mesmo tempo. O exemplo abaixo aumenta o Pedido sem transportadora, sendo alterado por um valor predefinido. update pedido_venda set transportadora = 1 where cliente = 10 and transportadora is null UPDATE não gera um conjunto de resultados. Se você quiser saber quais resultados serão alterados, examine primeiro os resultados da consulta seleção que use os mesmos critérios e então execute a consulta atualização. Exemplo de instrução UPDATE Esse exemplo aumenta o "Preco" de todos os produtos de um pedido em 10% update produto_pedidov set preco = preco*1.1 where pedidov = 10 Instrução DELETE Cria uma consulta exclusão que remove registros de uma ou mais tabelas listadas na cláusula FROM que satisfaz a cláusula WHERE. Sintaxe

DELETE [tabela.*] FROM tabela WHERE critério A instrução DELETE tem as partes abaixo: Parte tabela.* tabela critério Descrição O nome opcional da tabela da qual os registros são excluídos. O nome da tabela da qual os registros são excluídos. Uma expressão que determina qual registro deve ser excluído. Comentários DELETE é especialmente útil quando você quer excluir muitos registros. Para eliminar uma tabela inteira do banco de dados, você pode usar o método Execute com uma instrução DROP. Entretanto, se você eliminar a tabela, a estrutura é perdida. Por outro lado, quando você usa DELETE, apenas os dados são excluídos. A estrutura da tabela e todas as propriedades da tabela, como atributos de campo e índices, permanecem intactos. Você pode usar DELETE para remover registros de tabelas que estão em uma relação um por vários com outras tabelas. Operações de exclusão em cascata fazem com que os registros das tabelas que estão no lado "vários" da relação sejam excluídos quando os registros correspondentes do lado "um" da relação são excluídos na consulta. Por exemplo, nas relações entre as tabelas Clientes e Pedidos, a tabela Clientes está do lado "um" e a tabela Pedidos está no lado "vários" da relação. Excluir um registro em Clientes faz com que os registros correspondentes em Pedidos sejam excluídos se a opção de exclusão em cascata for especificada. Uma consulta de exclusão exclui registros inteiros e não apenas dados em campos específicos. Se você quiser excluir valores de um campo específico, crie uma consulta atualização que mude os valores para Null. Importante Após remover os registros usando uma consulta exclusão, você não poderá desfazer a operação. Se quiser saber quais arquivos foram excluídos, primeiro examine os resultados de uma consulta seleção que use o mesmo critério e então, execute a consulta exclusão. Mantenha os backups de seus dados. Se você excluir os registros errados, poderá recuperá-los a partir dos seus backups. Exemplo de instrução DELETE Esse exemplo exclui todos os registros de funcionários cujo título seja Estagiário. Quando a cláusula FROM inclui apenas uma tabela, não é necessário indicar o nome da tabela na instrução DELETE.

Utilitários SQL (Millennium) Comandos prontos e relacionamentos \\192.192.192.91\cd_Tecnicos\BANCO_DADOS\UTEIS\COMANDOS_SQL_RELACIONAMENT O Organizador de Script. \\192.192.192.91\cd_Tecnicos\BANCO_DADOS\INSTALADORES\SQL_INFORM Driver ODBC \\192.192.192.91\cd_Tecnicos\BANCO_DADOS\INSTALADORES\ODBC_DRIVER