Você está na página 1de 41

Consultas SQL base CORPORE RM / RM Bis

Verso: 4.03
--------------------------------------------------------------------------------------
INDICE

APRESENTAO............................................................................................................................................ 3
OBJETIVOS DO CURSO.................................................................................................................................... 3
CONTEDO PROGRAMTICO:............................................................................................................................ 3
EXPECTATIVAS DO CURSO............................................................................................................................... 3
BANCOS DE DADOS E SGBDS.................................................................................................................... 3
TABELAS......................................................................................................................................................... 4
CHAVES PRIMRIAS......................................................................................................................................... 5
CHAVES ESTRANGEIRAS.................................................................................................................................. 5
SISTEMAS GERENCIADORES DE BANCOS DE DADOS UTILIZADOS ATUALMENTE NA RM (RELACIONAIS E
TECNOLOGIA CLIENTE/SERVIDOR).................................................................................................................... 5
BANCOS DE DADOS CLIENTE/SERVIDOR........................................................................................................... 5
DISTRIBUIO DOS SOFWARES NA REDE ( CORPORERM )................................................................................6
NOMENCLATURA DAS TABELAS DO CORPORE RM............................................................................................ 7
TIPOS DE DADOS............................................................................................................................................ 7
RELACIONAMENTO ENTRE AS TABELAS DO CORPORE RM...............................................................................8
MANIPULAO DOS BANCOS DE DADOS - PADRO SQL (STRUCTURED QUERY LANGUAGE)........9
FAMLIAS DE COMANDOS SQL........................................................................................................................ 9

Clusula SELECT............................................................................................................................. 10

Funes de Agrupamento ou Embutidas........................................................................................... 11

Clusula WHERE.............................................................................................................................. 13

Exemplos de consulta com os Operadores de Comparao............................................................14

Clusula GROUP BY :...................................................................................................................... 15

Clusula ORDER BY :....................................................................................................................... 15

Clusula HAVING :............................................................................................................................ 16

Clusula UNION................................................................................................................................ 16

Alias de Coluna (Apelidos)............................................................................................................... 17

Passagem de Parmetros................................................................................................................. 17
EXERCCIOS DIVERSOS - PARTE I.................................................................................................................. 17
CONSULTAS COM JUNO ( DUAS OU MAIS TABELAS INNER JOIN, LIGAO )............................................20

Alias de Tabela (Apelido).................................................................................................................. 21
EXERCCIOS - PARTE II.................................................................................................................................. 21
OUTER JOINS............................................................................................................................................... 25

EXERCCIOS - PARTE III............................................................................................................................... 26

Treinamento RM: Caminho certo para o sucesso profissional. 1


Reproduo Proibida
Consultas SQL base CORPORE RM / RM Bis
Verso: 4.03
--------------------------------------------------------------------------------------
EXERCCIO 1................................................................................................................................................. 27

EXERCCIO 2 ................................................................................................................................................ 28

EXERCCIO 3................................................................................................................................................. 29

EXERCCIO 4................................................................................................................................................. 31

PARMETROS DO RM BIS............................................................................................................................ 33
CUBO DE DECISO........................................................................................................................................ 33

cones do Cubo................................................................................................................................. 33

reas de Diviso do Cubo................................................................................................................. 34

Alterando a Dimenso da Anlise dos Dados...................................................................................35

Para Acrescentar uma Dimenso na rea de Consulta....................................................................35

Para Remover uma Dimenso da rea de consulta.........................................................................36

Para Alterar a posio de uma Dimenso da rea de Consulta.......................................................36

Para Selecionar/Deselecionar um ou mais Registros de uma Dimenso.........................................36

Grfico.............................................................................................................................................. 36
ASSISTENTE DE CRIACAO DE CUBOS DO RM BIS...........................................................................................37

Treinamento RM: Caminho certo para o sucesso profissional. 2


Reproduo Proibida
Consultas SQL base CORPORE RM / RM Bis
Verso: 4.03
--------------------------------------------------------------------------------------

Apresentao

Objetivos do Curso
Apresentar ao aluno conceitos bsicos de banco de dados e da linguagem de consulta estruturada (SQL),
bem como os procedimentos de configurao dos aplicativos que fazem parte do CORPORE RM.

Contedo programtico:
- Conceito de Banco de Dados Relacional
- O ambiente Cliente/Servidor (Redes X Bancos de Dados)
- Diagrama de entidades e relacionamentos
- Relacionamento entre tabelas
- A distribuio dos aplicativos CorporeRM na rede.
- Comandos de Manipulao de Dados ( A famlia de comandos ) SQL Bsico
- O comando Select ( Consultas Simples e com Juno )
- Exerccios

Expectativas do Curso
Ao final do curso, espera-se que o participante esteja apto a executar consultas com a utilizao
principalmente da clusula SELECT, configurar o BDE para utilizao com os aplicativos do Corpore RM.

BANCOS DE DADOS E SGBDS


Qualquer sistema de arquivamento de dados eletrnico pode ser considerado um banco de dados.
Existem diversos tipos de sistemas de arquivamento e como exemplo podemos citar o Microsoft Excel.
Um Sistema de Gerenciador de Banco de Dados (SGBD) consiste numa coleo de dados inter-
relacionados e um conjunto de programas para acessar esses dados. A coleo de dados que geralmente
referenciada como o banco de dados. O principal objetivo de um SGBD proporcionar um ambiente,
conveniente e eficiente, para retirar e armazenar informaes no banco de dados.
O gerenciador de banco de dados o mdulo de programa que prov a interface entre os dados
armazenados no banco de dados e os programas de aplicao e consultas submetidas ao sistema. O
gerenciador responsvel pela interao com o sistema operacional para gerenciamento do acesso aos
arquivos, para garantia de integridade e segurana, pelo backup e recuperao, e pelo controle de

Treinamento RM: Caminho certo para o sucesso profissional. 3


Reproduo Proibida
Consultas SQL base CORPORE RM / RM Bis
Verso: 4.03
--------------------------------------------------------------------------------------
concorrncia.
Existem diversos modelos de banco de dados, entre eles podemos citar:
modelo de rede
modelo hierrquico
modelo relacional
modelo orientado a objetos
Entre este modelos vamos destacar o modelo relacional, que envolve o conceito de armazenar dados
em um nico objeto centralizador, estruturado internamente em tabelas e colunas que se relacionam entre
si atravs de chaves primrias e estrangeiras, que so as colunas (campos) em comum entre as tabelas.
Citemos alguns Sistemas Gerenciadores de Banco de Dados Relacionais (SGBDR) existentes no
mercado: MS-SQL Server, Oracle, Sybase, Informix, Progress, DB2, etc.; os quais podem gerenciar todas
as suas informaes a partir de um nico arquivo de banco de dados.

O CorporeRM trabalha com os seguintes:

Tabelas
Unidade bsica de armazenamento em um banco de dados relacional. Uma tabela composta de linhas e
colunas.

Tabelas tm nomes nicos


So compostas por linhas e colunas
Linhas e colunas podem estar em qualquer ordem
Preferencialmente devem possuir um identificador nico: chave primria (Primary Key)
Colunas: so tambm chamadas atributos

Funcionrios
chapa nome endereo telefone ...

1001 Joo . 5554444 ~~~


1002 Alberto . 4687999 ~~~
1003 Franciso .. NULL ~~~
1004 Maria .. 5678900
1005 Snia ... 0988855 ~~~
Treinamento RM: Caminho certo para o sucesso profissional. 4
1006 Roberto .Reproduo NULLProibida ~~~
Consultas SQL base CORPORE RM / RM Bis
Verso: 4.03
--------------------------------------------------------------------------------------
Exemplos de tabelas :

gcoligada (armazena informaes referentes s empresas coligadas)


gfilial (armazena informaes referentes s filiais das empresas coligadas)
psecao (armazena informaes referentes s sees das filiais das empresas coligadas)
pfunc (armazena informaes referentes aos funcionrios das empresas )

Chaves Primrias
Uma chave primria (primary key) um campo ou conjunto de campos que identifica de forma nica
um registro de uma tabela. Ou seja, se um campo chave primria de uma tabela, cada registro deve
possuir um valor diferente para este campo. Normalmente, usamos como chave primria campos de
identificadores, como cdigo da coligada (codcoligada), cdigo da filial (codfilial), etc. As chaves primrias
podem ser compostas por mais de uma coluna.

Chaves Estrangeiras
Uma chave estrangeira (foreign key) um campo ou conjunto de campos que correspondem a chave
primria de uma outra tabela. A chave estrangeira usada principalmente para relacionamento entre
tabelas.

Podemos dizer:

O conjunto das colunas codcoligada, nomefantasia e nome formam a tabela gcoligada.


O conjunto das tabelas gcoligada, gfilial, psecao, pfunc, pcargo, pfuncao, pcodsituacao, psindic e gbanco
formam um Banco de Dados Relacional.
O conjunto de todas as tabelas utilizadas por todos os nossos aplicativos for windows formam o banco de
dados CorporeRM.

Sistemas Gerenciadores de Bancos de Dados utilizados atualmente na RM


(Relacionais e Tecnologia Cliente/Servidor)

MS SQL SERVER 6.5/7.0/2000


ORACLE 7.3/8.0/8i
MSDE

Bancos de Dados Cliente/Servidor


At a difuso dos bancos de dados cliente/servidor, a maioria dos bancos de dados armazenava seus
dados na mesma mquina onde os mesmos eram manipulados. Com o surgimento das redes locais, os
bancos de dados foram transferidos para o computador central, que armazenava os registros, enquanto os
ns da rede (computadores cliente, estaes de trabalho de cada usurio) requisitavam tais dados para
manipul-los.

Treinamento RM: Caminho certo para o sucesso profissional. 5


Reproduo Proibida
Consultas SQL base CORPORE RM / RM Bis
Verso: 4.03
--------------------------------------------------------------------------------------

Apesar do aparente aumento de produtividade, a centralizao dos bancos de dados nos servidores
trouxe inmeros problemas, entre eles o crescimento no trfego da rede. Isto porque, quando determinada
mquina queria realizar uma pesquisa em uma tabela de um banco de dados, toda a tabela era transferida
para a mquina cliente, e l a pesquisa era feita. Isto piorava enormemente a performance da rede,
principalmente quando a consulta ao banco de dados era feita por varias mquinas simultaneamente.

Com a difuso dos bancos de dados cliente/servidor, este problema foi superado. Isto porque ao realizar
um pesquisa em uma tabela de um banco de dados cliente/servidor, apenas o resultado da pesquisa
transferido para a mquina cliente, o que reduz o trfego na rede. Comandos so enviados ao servidor de
banco de dados e resultados so retornados estao/cliente.

Os nossos aplicativos do CorporeRM acessam o servidor atravs do BDE , que retorna apenas a
consulta ou o resultado final para as estaes cliente.

Distribuio dos sofwares na Rede ( CorporeRM )


Primeiramente, devemos separ-los em 4 (quatro) grupos:

SGBDR - Sistema de gerenciamento do banco de dados relacional ( Interbase, MS SQL Server, Oracle )
Base de Dados - Base de dados vazia ou exemplo ( corpore )
BDE - Borland DataBase Engine ( Localiza o Servidor do Banco de Dados )
Aplicativos - CorporeRM

No Ambiente Cliente/Servidor:

Treinamento RM: Caminho certo para o sucesso profissional. 6


Reproduo Proibida
Consultas SQL base CORPORE RM / RM Bis
Verso: 4.03
--------------------------------------------------------------------------------------
Servidor - Instala-se o SGBDR e a Base de Dados (MS-SQL, Oracle ou Interbase)
Estaes Clientes Se SQL Server ou Oracle, instala-se o cliente SQL dos mesmos, instala-se ento o
BDE, e aps os Aplicativos RM.

Opcionalmente mas no recomendvel:

Servidor SGDBR, Base de Dados, BDE e Aplicativos

Obs: obrigatrio a instalao do Client para o MS SQL Server e do Service Pack 5 do SQL e tambm o
client do Oracle

No Ambiente Local:
Estao Local - Instala-se o SGBDR, a Base de Dados, o BDE e os Aplicativos

Nomenclatura das Tabelas do Corpore RM


A xxxxx Chronus Automao de Ponto
B xxxxx Testis Avaliaes e Pesquisas
C xxxxx Saldus Contabilidade Gerencial
D xxxxx Liber Escriturao e Controle Fiscal
E xxxxx Classis Escola Escola - Gesto Escolar
F xxxxx Fluxus Contas a Pagar / Receber
G xxxxx Tabelas Globais (comuns a todos os sistemas)
I xxxxx Bonum Controle de Patrimnio
K xxxxx Factor PCP (Planejamento de Controle da Produo)
L xxxxx Biblios Gerenciamento de Acervo Bibliotecrio
M xxxxx Solum Controle de Obras
P xxxxx Labore (Folha de Pagamento)
R xxxxx Gerador de Relatrios
T xxxxx Nucleus Faturamento / Estoque / Controle de Controle de Contratos
V xxxxx Vitae (Gesto de RH)
U xxxxx Classis Escola Faculdade - Gesto Escolar

Tipos de Dados
Os tipos de dados abaixo relacionados so tipos de dados suportados pelos bancos de dados
relacionais, geralmente usados no sistema:

Char (n) : Armazena at 255 caracteres. O parmetro n define o nmero de caracteres a serem
alocados. Este nmero de caracteres ser sempre usado independente do tamanho dos dados entrados.

Varchar (n) : Armazena at 255 caracteres. Ao contrrio de CHAR, o tipo de dado VARCHAR s
armazena os dados efetivamente entrados, utilizando, portanto, menor espao em disco.

Datetime : Armazena datas. O padro MM-DD-YYYY HH:MMAM. Para entrar somente horas, o valor
precisa conter um sinal de dois pontos(:) ou a expresso AM ou PM. Sempre coloque valores deste tipo
entre aspas simples.

Numeric(p,s): Armazena nmeros exatos entre 10 38 1 a 1038 1. Os parmetros p e s definem a


preciso.

Treinamento RM: Caminho certo para o sucesso profissional. 7


Reproduo Proibida
Consultas SQL base CORPORE RM / RM Bis
Verso: 4.03
--------------------------------------------------------------------------------------
Int: Armazena nmeros inteiros, que podem variar de 2.147.483.648 a 2.147.483.647.

Smallint: Armazena nmeros com valores inteiros, que podem variar de 32.768 a 32.767.

Text : Tipo de dado de comprimento varivel, que armazena caracteres. Deve ser utilizado entre aspas
simples. Suporta uma grande quantidade de armazenamento de textos.

Image: Tipo de dado de comprimento varivel, que armazena dados de tipo binrio. Deve ser precedido
de 0x. Ex.: Fotos, mapas, imagens digitalizadas.

Obs: Campos date e texto ( char, varchar, etc ) devem sempre aparecer entre aspas simples em
expresses.

Relacionamento entre as tabelas do CORPORE RM


1) gcoligada.codcoligada pfunc.codcoligada

2) gfilial.codcoligada pfunc.codcoligada
gfilial.codfilial pfunc.codfilial

3) psecao.codcoligada pfunc.codcoligada
psecao.codigo pfunc.codsecao
psecao.codfilial pfunc.codfilial

4) psindic.codcoligada pfunc.codcoligada
psindic.codigo pfunc.codsindicato

5) gbanco.numbanco pfunc.codbancopagto ou pfunc.codbancofgts

6) pfuncao.codcoligada pfunc.codcoligada
pfuncao.codigo pfunc.codfuncao

7) pcodsituacao.codcliente pfunc.codsituacao

8) pcargo.codcoligada pfuncao.codcoligada pfunc.codcoligada


pcargo.codigo pfuncao.cargo
pfuncao.codigo pfunc.codfuncao

Treinamento RM: Caminho certo para o sucesso profissional. 8


Reproduo Proibida
Consultas SQL base CORPORE RM / RM Bis
Verso: 4.03
--------------------------------------------------------------------------------------
MANIPULAO DOS BANCOS DE DADOS - PADRO SQL (Structured Query
Language).

SQL - linguagem estruturada de consulta e manipulao dos elementos no banco de dados, um padro
internacional inicialmente desenvolvido pela IBM, agora coordenado pela ANSI-standard, sendo que sua
ltima publicao foi em 1992.

Caractersticas importantes:
Padronizada para os bancos de dados relacionais.
Cada comando uma descrio do que se deseja obter; quem executa o comando o gerenciador
do banco de dados.

Famlias de Comandos SQL

DDL Linguagem de Definio de Dados - Comandos de manipulao da estrutura do banco de dados


( create, alter, drop, rename ).

DML Linguagem de Manipulao de Dados - Comandos de manipulao dos registros (dados) do


banco de dados (insert, select, update, delete)

DCL Linguagem de Controle de Dados - Comandos de manipulao de acesso a estrutura/registros


do banco de dados (grant, revoke).

A famlia de comandos DML est associada diretamente ao dia-a-dia do Tcnico de Suporte,


principalmente, o comando select. Tendo em vista que os aplicativos do CorporeRM tm a funo de inserir
dados (insert), deletar dados (delete) e modificar dados (update), no aconselhvel executarmos tais
procedimentos atravs do software do banco de dados. No entanto, temos total liberdade e dever de
aprofundarmos na explorao dos recursos que o comando select nos oferece para extrao de dados,
convertendo-os em uma rica fonte de consulta.

O comando SELECT

Seleciona linhas e colunas de uma tabela


Estrutura do comando SELECT, cada parte do comando chamado de Clusula, assim aprenderemos
a utilizar os recursos de cada uma:

Clusula SELECT :Lista de colunas para visualizao


Clusula FROM : Tabela(s) de procura
Clusula WHERE : Lista de condies
Clusula GROUP BY : Colunas para serem agregadas
Clusula HAVING : Especifica as Condies com uso de agrupamento (funes)
Clusula ORDER BY : Lista de coluna(s) para ordenao [ASC (ascendente)| DESC (descendente)

Treinamento RM: Caminho certo para o sucesso profissional. 9


Reproduo Proibida
Consultas SQL base CORPORE RM / RM Bis
Verso: 4.03
--------------------------------------------------------------------------------------
Para efeitos didticos iremos dividir o comando select em dois tipos de consultas :
1) Consultas simples ( em uma nica tabela ).
2) Consultas com juno ( em duas ou mais tabelas ).

1. Clusula SELECT
Sintaxe: SELECT Lista de Colunas

Lista de Colunas: a lista de colunas (Campos) a ser selecionada na tabela separado por vrgula. Caso
voc deseje ver todos os campos da tabelas use *.

Argumentos:
DISTINCT : Define que sero vistos somentes os campos com valores distintos, ou seja sem
repetio.
ALL - Define que todos os registros sero selecionados, este argumento o default, assim sendo
no necessrio escrever.

Clusula FROM : Tabela(s) com os dados a serem pesquisados

Lista de Tabelas: a lista de tabelas cujos registros sero selecionados. Se quiser selecionar mais de uma
tabela ou mais de um campo, separe-os por vrgula.

Exemplos:

SELECT NOME, SALARIO FROM PFUNC

nome salario
-----------------------------------------------------------------------------

ITAMAR MENDES DA SILVEIRA 1200.00


JOAO DA SILVA JORDAM 500.00
MARIA CONCEICAO DE ASSIS 1939.08
ADALBERTO DE JESUS LIMA 580.00
ALESSANDRA LOPES DE ABREU 686.60

Treinamento RM: Caminho certo para o sucesso profissional. 10


Reproduo Proibida
Consultas SQL base CORPORE RM / RM Bis
Verso: 4.03
--------------------------------------------------------------------------------------
Algumas sentenas sero muito utilizadas para localizao das tabelas, colunas do CorporeRM.

Exemplos:

SELECT NOMESISTEMA, CODSISTEMA FROM GSISTEMA

SELECT * FROM GCAMPOS


Lista todas as tabelas, colunas e descrio de cada uma.

SELECT * FROM GCAMPOS


WHERE DESCRICAO = FUNCIONARIOS

SELECT * FROM GCAMPOS


WHERE TABELA = PFUNC AND
DESCRICAO = SALARIO

SELECT * FROM GLINKSREL


Lista todos os relacionamentos das tabelas nos relatrios.

SP_HELP PFUNC
Lista todas as informaes da tabela pfunc. O nome das colunas, quais so as chaves primrias, chaves
estrangeiras, tipos de dados, ndices.

Exemplos de diversas consultas retirando resultados do aplicativo RM Labore.

SELECT CODSITUACAO FROM PFUNC

Lista todos cdigos de situao existentes por funcionrio (com repetio)

SELECT ALL CODSITUACAO FROM PFUNC


Lista todos cdigos de situao existentes por funcionrio (com repetio)

SELECT DISTINCT CODSITUACAO FROM PFUNC


Lista todos cdigos de situao existentes, por codsituacao ( sem repetio ).

SELECT * FROM PFUNC


Lista todos os registros e colunas da tabela pfunc (funcionrios)

SELECT NOME, SALARIO FROM PFUNC


Lista todos os registros da tabela pfunc e somente as colunas com os nomes e salrios
dos funcionrios.

SELECT NOME, DATADEMISSAO FROM PFUNC


WHERE DATADEMISSAO IS NOT NULL
Lista todos os nomes de funcionrios que tenha data de demisso diferente de nula
(preenchida).

2. Funes de Agrupamento ou Embutidas


Funes que retornam resultados baseados em grupos de linhas. Por padro todas as linhas de uma tabela
so tratadas como um grupo. Com exceo da funo COUNT todas ignoram valores nulos, at o COUNT
ignora em algumas formas de aplicao, as funes que veremos so :

Treinamento RM: Caminho certo para o sucesso profissional. 11


Reproduo Proibida
Consultas SQL base CORPORE RM / RM Bis
Verso: 4.03
--------------------------------------------------------------------------------------
1. COUNT 2. AVG
3. MAX 4. MIN
5. SUM

OBS:. Usando o DISTINCT, a funo s atua nos valores diferentes.

1. COUNT: Retorna o nmero de itens de um grupo;

Ex.: SELECT COUNT(*) FROM PFUNC


Lista a quantidade de registros (qtde de funcionrios) existentes na tabela.

Ex.: SELECT COUNT(distinct salario ) FROM PFUNC


Lista a quantidade de funcionrios da tabela PFUNC que no possuem salrios iguais.

2. SUM: Soma todos os valores da coluna selecionada, os valores nulos so ignorados.

Ex: SELECT SUM(SALARIO) FROM PFUNC


Lista o total (soma) de salrios de todos os funcionrios da tabela.

Ex: SELECT SUM(DISTINCT SALARIO) FROM PFUNC


Lista o total (soma) de salrios no repetidos de todos os funcionrios da tabela.

3. AVG: Calcula a mdia aritmtica dos valores de uma coluna, os valores nulos so ignorados

Ex.: SELECT AVG(SALARIO) FROM PFUNC


Lista a mdia de salrios. Primeiramente ele soma os salrios de cada funcionrio e depois divide o
total encontrado pela quantidade de registros.

Ex.: SELECT AVG(DISTINCT SALARIO) FROM PFUNC


Lista a mdia dos salrios no repetidos da tabela.

4. MAX: Lista o maior valor de uma coluna.

Ex: SELECT MAX(SALARIO) FROM PFUNC


Lista o maior salrio da tabela.

5. MIN: Lista o menor valor de uma coluna, valor Nulo ignorado.

Ex: SELECT MIN(SALARIO) FROM PFUNC


Lista o menor salrio da tabela.

Treinamento RM: Caminho certo para o sucesso profissional. 12


Reproduo Proibida
Consultas SQL base CORPORE RM / RM Bis
Verso: 4.03
--------------------------------------------------------------------------------------
3. Clusula WHERE
WHERE: Determina uma condio em que os registros devem satisfazer para serem
selecionadas em uma ou mais tabelas.

Ex.: SELECT NOME, SALARIO FROM PFUNC WHERE SALARIO <=500.00


Lista todos os nomes e salrios de funcionrios com salrio menor ou igual 500,00 reais

Operadores

H diversos tipos de operadores. Quanto mais de um tipo de operador est presente em uma expresso,
eles so avaliados segundo uma ordem de precedncia, descrita na lista a seguir:

1. (+) Positivo, - Negativo, ~ NOT


2. (*)Multiplicao, ( / ) Diviso, (%) Mdulo
3. (+) ADD e Concatenao, (-) Subtrao
4. = , <, >, =>, <=,!=, !>,!< (Comparao)
5. NOT
6. AND
7. ALL, ANY, BETWEEN, IN, LIKE, OR SOME

Alguns exemplos:

1. (+) ADD:

Ex. SELECT NOME, SALARIO + 400 FROM PFUNC


Seleciona o nome dos funcionrios, adicionando 400 reais no salrio de todos.

2. CONCATENAO:

Ex. SELECT NOME, RUA+ ','+ NUMERO FROM PPESSOA


Seleciona o nome dos funcionrios, unindo as colunas Rua e Nmero.

3. DIVISO

Ex. SELECT NOME, SALARIO / 20 FROM PFUNC


Seleciona o nome e o salrio dos funcionrios dividido por 20.

Treinamento RM: Caminho certo para o sucesso profissional. 13


Reproduo Proibida
Consultas SQL base CORPORE RM / RM Bis
Verso: 4.03
--------------------------------------------------------------------------------------
A Tabela abaixo mostra os operadores de aceitos em comparao:

COMPARAO
Igualdade =
Desigualdade <>
Maior que >
Menor que <
Maior ou igual a >=
Menor ou igual a <=
No menor que !>
No maior que !<
No igual a !=

4. Exemplos de consulta com os Operadores de Comparao.


Igual a =
SELECT NOME, SALARIO FROM PFUNC WHERE SALARIO = 580
Lista todos os nomes e salrios de funcionrios com salrio igual a 580,00 Reais

Diferente de <>
SELECT NOME, CODSECAO FROM PFUNC WHERE CODSECAO <> 01.01
Lista todos os nomes e cdigos de seo dos funcionrios exceto da seo 01.01

Maior que >


SELECT NOME, SALARIO FROM PFUNC WHERE SALARIO >500
Lista todos os nomes e salrios de funcionrios com salrio maior que R$ 500,00.

Maior ou igual a >=


SELECT NOME, SALARIO FROM PFUNC WHERE SALARIO >=500
Lista todos os nomes e salrios de funcionrios com salrio maior ou igual a 500,00 Reais

Menor que <


SELECT NOME, SALARIO FROM PFUNC WHERE SALARIO <500
Lista todos os nomes e salrios de funcionrios com salrio menor que R$ 500,00.

Menor ou igual a <=


SELECT NOME, SALARIO FROM PFUNC WHERE SALARIO <=500
Lista todos os nomes e salrios de funcionrios com salrio menor ou igual a 500,00 Reais

IN : Compara um valor com uma lista de valores.

SELECT NOME, SALARIO FROM PFUNC


WHERE SALARIO IN (500, 700, 800, 900)
Lista todos os nomes e salrios de funcionrios com salrios iguais a 500, 700, 800 e 900 Reais.

LIKE : Permite procurar strings que atendam determinado padro de pesquisa.


%(Percentual) Substitui por um ou mais caracteres.
_(Underscore) Substitui por um nico caracter.

SELECT NOME FROM PFUNC WHERE NOME LIKE M%


Lista todos os nomes de funcionrios iniciados com a letra M.
SELECT NOME FROM PFUNC WHERE NOME LIKE %O

Treinamento RM: Caminho certo para o sucesso profissional. 14


Reproduo Proibida
Consultas SQL base CORPORE RM / RM Bis
Verso: 4.03
--------------------------------------------------------------------------------------
Lista todos os nomes de funcionrios terminados com a letra O.

SELECT NOME FROM PFUNC WHERE NOME LIKE J_A%


Lista todos os nomes de funcionrios iniciados com a letra J, 1 caracter qualquer seguido da
letra A e terminados com quaisquer combinaes de nomes.

SELECT NOME FROM PFUNC WHERE NOME NOT LIKE MARIA_%


Lista todos os nomes de funcionrios exceto as MARIAS.

IS NULL : Testa valores que so nulos.

SELECT NOME, DATADEMISSAO FROM PFUNC


WHERE DATADEMISSAO IS NULL
Lista os nomes de funcionrios que tenham data de demisso nula (sem dado).

NOT : Inverte o resultado de uma condio.

SELECT NOME, DATADEMISSAO FROM PFUNC


WHERE DATADEMISSAO IS NOT NULL

Podemos negar expresses com os seguintes operadores:


<>, NOT , NOT BETWEEN, IS NOT NULL, NOT EXISTS, NOT LIKE, NOT IN.

5. Clusula GROUP BY :
GROUP BY: Agrupa linhas de uma tabela dentro de grupos menores. utilizada em conjunto com as
funes de grupo.
Ex.: SELECT CODSECAO, AVG(SALARIO) FROM PFUNC
GROUP BY CODSECAO
Lista a mdia salarial agrupadas por seo.

6. Clusula ORDER BY :
ORDER BY: Define a ordem das linhas do resultado de uma pesquisa definida. Deve ser a ltima da
clusula SELECT. Utiliza-se ASC (ordem crescente- default) e DESC (ordem decrescente). O padro e
ASC.

Treinamento RM: Caminho certo para o sucesso profissional. 15


Reproduo Proibida
Consultas SQL base CORPORE RM / RM Bis
Verso: 4.03
--------------------------------------------------------------------------------------
Ordem default: 1) Valores numricos menores
2) Valores de datas mais antigas
3) Caracteres em ordem alfabtica
Para alterar a ordem default: Colocar DESC depois do nome da coluna na clusula ORDER BY.
OBS: Os valores nulos so mostrados por ltimo para seqncias ascendentes.

Ex: SELECT NOME, SALARIO FROM PFUNC ORDER BY NOME ASC


Lista todos os registros da tabela pfunc e somente as colunas com os nomes (em ordem alfabtica)
e salrios dos funcionrios.

Ex.: SELECT NOME, SALARIO FROM PFUNC ORDER BY NOME DESC


Lista todos os registros da tabela pfunc e somente as colunas com os nomes (em ordem
decrescente) e salrios dos funcionrios.

7. Clusula HAVING :
HAVING: Usada para selecionar os grupos que sero mostrados com base nas informaes das funes de
grupo.

Ex: SELECT PSECAO.CODIGO,SUM(SALARIO),MAX(SALARIO),


COUNT(CHAPA)
FROM PSECAO,PFUNC
WHERE PSECAO.CODIGO=PFUNC.CODSECAO
GROUP BY PSECAO.CODIGO
HAVING MIN(SALARIO)>1000
Mostra o cdigo da seo, a soma dos salrios, o maior salrio e o nmero de funcionrios onde o menor
salrio seja superior a 1000.

8. Clusula UNION:
UNION: Usada para unir duas ou mais consultas (select).

Ex.: SELECT CHAPA, NOME, LOCALNASCIMENTO FROM PFDEPEND WHERE


LOCALNASCIMENTO='BETIM'
UNION SELECT CHAPA, NOME, LOCALNASCIMENTO FROM PFDEPEND WHERE
LOCALNASCIMENTO='SALVADOR'

Lista o nome de todos os dependentes dos funcionrios que nasceram em Betim e todos os nascidos em
Salvador.

Ex. SELECT CHAPA, NOME, LOCALNASCIMENTO FROM PFDEPEND WHERE


LOCALNASCIMENTO='BETIM'
OR LOCALNASCIMENTO='SALVADOR'

Essa sentena tambm ir trazer o mesmo resultado, porm utilizando a opo: OR.

Treinamento RM: Caminho certo para o sucesso profissional. 16


Reproduo Proibida
Consultas SQL base CORPORE RM / RM Bis
Verso: 4.03
--------------------------------------------------------------------------------------
9. Alias de Coluna (Apelidos)
O Alias de coluna serve para nomear (apelidar) uma coluna em uma determinada consulta. muito til para
utilizao de nomes mais sujestivos no momento da visualizao da consulta.
Ex: SELECT NOME, DATAADMISSAO ADMISSAO FROM PFUNC

10. Passagem de Parmetros


Permite ao usurio informar o valor de uma condio no momento da execuo da consulta, sem que se
altere a consulta.

Ex: SELECT CHAPA, NOME , DATAADMISSAO FROM PFUNC


WHERE CHAPA =:CHAPA

O parmetro poder ser utilizado nos relatrios, juntamente com a insero da opo Parmetros ou
Frmula.

Exerccios Diversos - Parte I

1) Selecione os nomes em ordem alfabtica de todos os funcionrios da filial 1, bem como o nmero da
filial.

2) Selecione os nomes e salrios (estes em ordem decrescente) dos funcionrios cujos salrios no estejam
entre 400,00 e 500,00 Reais, que foram admitidos em Janeiro(jan), que trabalham na filial 2 e que possui a
funo 00012.

3) Selecione os nomes dos funcionrios da Filial 1 cujo nome contenha a letra N.

Treinamento RM: Caminho certo para o sucesso profissional. 17


Reproduo Proibida
Consultas SQL base CORPORE RM / RM Bis
Verso: 4.03
--------------------------------------------------------------------------------------
4) Liste os nomes e os salrios dos funcionrios da coligada 1, cujo nome contenha
a letra M, o salrio seja superior a 500.

5) Selecione os nomes, as chapas, os salrios e a data de admisso dos funcionrios


que no ganham entre 400,00 e 500,00 Reais, que foram admitidos em Junho(jun)
e que trabalham na filial 1.

6) Selecione a quantidade de funcionrios agrupados por seo que pertenam a coligada 1

7) Mostre a mdia salarial, o maior e o menor salrio de cada filial.

8) Mostre os cdigos das sees e a mdia salarial das mesmas, mas somente das que possuem a mdia
salarial maior que 500.

9) Selecione o nome e data de admisso do funcionrio mais antigo da empresa.

10) Informe a filial,o nmero de funcionrios de cada filial, a soma dos salrios, o maior salrio, o menor
salrio.Apelidando as colunas: Filial, Total,Maior e Menor.

Treinamento RM: Caminho certo para o sucesso profissional. 18


Reproduo Proibida
Consultas SQL base CORPORE RM / RM Bis
Verso: 4.03
--------------------------------------------------------------------------------------
11) Quantos funcionrios existem para cada sindicato na empresa.

12) Selecione o cdigo da seo do funcionrio que possuam mais de 02 funcionrios o cdigo da situao
seja A.

13) Informe os nomes dos funcionrios que trabalham na seo 01.01, que possui a funo 00011 ou 00012
e que ganham salrio maior que 100 em ordem decrescente.

14) Selecione o nome e o cdigo da coligada dos funcionrios que foram admitidos em janeiro ou que o
nome comea com a letra J.

Treinamento RM: Caminho certo para o sucesso profissional. 19


Reproduo Proibida
Consultas SQL base CORPORE RM / RM Bis
Verso: 4.03
--------------------------------------------------------------------------------------
Consultas com juno ( duas ou mais tabelas Inner Join, ligao )
A sintaxe praticamente a mesma. A diferena est na utilizao da clusula WHERE necessria para se
fazer a ligao entre as tabelas. imprensidvel que as colunas de ligao sejam realmente idnticas
(contedo). na juno de tabelas em que a teoria dos bancos de dados relacionais se apoiam para se
diferenciar dos no-relacionais.

A ligao entre tabelas necessria sempre for preciso selecionar um valor de uma coluna, ou de uma
tabela Pai ou de uma tabela filha em relao a tabela principal de sua sentena SQL.

Exemplo:
SELECT GFILIAL.NOME, PFUNC.CHAPA FROM GFILIAL, PFUNC
WHERE GFILIAL.CODCOLIGADA=PFUNC.CODCOLIGADA
AND GFILIAL.CODFILIAL=PFUNC.CODFILIAL

Neste exemplo, a tabela principal a PFUNC (funcionrios da empresa) e no temos o nome da filial
fazendo parte de sua estrutura. O nome da filial est na tabela GFILIAL
( Filiais da empresa ).Sendo assim, ligamos as colunas em que os contedos sejam idnticos sendo que
sempre fazem parte das chaves primrias e estrangeiras das tabelas envolvidas. A tabela PFUNC filha da
tabela GFILIAL pois, a coluna CODFILIAL chave primria em GFILIAL e, consequentemente, chave
estrangeira em PFUNC.

Exemplos:

SELECT GCOLIGADA.NOME, PFUNC.CHAPA, PFUNC.NOME


FROM GCOLIGADA, PFUNC
WHERE GCOLIGADA.CODCOLIGADA=PFUNC.CODCOLIGADA
Lista o nome da coligada e as chapas dos funcionrios.

SELECT PSECAO.DESCRICAO, PFUNC.CHAPA, PFUNC.NOME


FROM PSECAO, PFUNC
WHERE PSECAO.CODCOLIGADA=PFUNC.CODCOLIGADA
AND PSECAO.CODIGO=PFUNC.CODSECAO
Lista a descrio da seo e as chapas dos funcionrios.

SELECT GBANCO.NOME, PFUNC.CHAPA, PFUNC.NOME


FROM GBANCO, PFUNC
WHERE GBANCO.NUMBANCO=PFUNC.CODBANCOPAGTO
Lista o nome do banco de pagamento e as chapas dos funcionrios.

SELECT GBANCO.NOME, PFUNC.CHAPA, PFUNC.NOME


FROM GBANCO, PFUNC
WHERE GBANCO.NUMBANCO=PFUNC.CODBANCOFGTS
Lista o nome do banco de FGTS e as chapas dos funcionrios

Treinamento RM: Caminho certo para o sucesso profissional. 20


Reproduo Proibida
Consultas SQL base CORPORE RM / RM Bis
Verso: 4.03
--------------------------------------------------------------------------------------
SELECT PCODSITUACAO.DESCRICAO, PFUNC.CHAPA, PFUNC.NOME
FROM PCODSITUACAO, PFUNC
WHERE PCODSITUACAO.CODCLIENTE=PFUNC.CODSITUACAO
AND PCODSITUACAO.DESCRICAO LIKE 'AF%'
Lista o nome da situao ( somente as que contem a descrio afastamento ) e as chapas dos
funcionrios.

SELECT PFUNCAO.NOME, PFUNC.CHAPA, PFUNC.NOME


FROM PFUNCAO, PFUNC
WHERE PFUNCAO.CODCOLIGADA=PFUNC.CODCOLIGADA
AND PFUNCAO.CODIGO=PFUNC.CODFUNCAO
Lista o nome da funo e as chapas dos funcionrios

SELECT PCARGO.NOME, PFUNC.CHAPA, PFUNC.NOME


FROM PCARGO, PFUNC, PFUNCAO
WHERE PCARGO.CODCOLIGADA=PFUNCAO.CODCOLIGADA
AND PCARGO.CODIGO=PFUNCAO.CARGO
AND PFUNCAO.CODCOLIGADA=PFUNC.CODCOLIGADA
AND PFUNCAO.CODIGO=PFUNC.CODFUNCAO
Lista o nome do cargo e as chapas dos funcionrios. Observe que no existe ligao
direta da tabela pcargo com pfunc. Foi necessrio utilizarmos a tabela pfuncao para
compor o resultado.

11. Alias de Tabela (Apelido)


O Alias de tabela serve para nomear (apelidar) uma tabela em uma determinada consulta.
Ex: SELECT G.NOME, P.NOME FROM PFUNC P, GFILIAL G
WHERE P.CODCOLIGADA=G.CODCOLIGADA
AND P.CODFILIAL=G.CODFILIAL

Exerccios - Parte II
1) Selecione os nomes dos funcionrios com o nome das sees que eles trabalham em ordem alfabtica
das sees e ordem decrescente dos nomes.

2) Selecione os nomes e descrio da situao de todos os funcionrios que esto de frias sem repetio.

3) Selecione o nome da seo em ordem alfabtica e o nome dos funcionrios em ordem decrescente.

4) Selecione a chapa, o nome dos funcionrios e o nome das funes exercidas por cada um, em ordem
crescente de nome da funo.

Treinamento RM: Caminho certo para o sucesso profissional. 21


Reproduo Proibida
Consultas SQL base CORPORE RM / RM Bis
Verso: 4.03
--------------------------------------------------------------------------------------

5) Liste o nome das sees que a mdia salarial seja maior ou igual a 1000 reais,
e mostre qual essa mdia.

6) Selecione os nomes dos funcionrios os cargos deles, os nomes das sees da filial 1
em ordem de nome dos funcionrios.

7) Liste os cargos que possuem salrios mdia salarial entre 500 e 1500 reais, e mostre as mdias dos
mesmos .

8) Mostre a mdia salarial, o maior e o menor salrio de cada filial.

9) Mostre os Sindicatos, cuja a mdia salarial dos funcionrios seja maior que 500.

10) Mostre os nomes e o salrio dos funcionrios que trabalham na coligada RM SISTEMAS LTDA e que
tenham um salrio maior que 1.000 em ordem decrescente de salrio.

11) Quais os nomes dos bancos de pagamento utilizados pelos funcionrios que possuem o cargo de
Gerencia, sem repetio..

12) Selecione o cdigo da filial, a quantidade de funcionrios e a mdia salarial dos funcionrios que tem a
funo Analista de Sistemas.
Treinamento RM: Caminho certo para o sucesso profissional. 22
Reproduo Proibida
Consultas SQL base CORPORE RM / RM Bis
Verso: 4.03
--------------------------------------------------------------------------------------

13) Mostre o nome e a data de admisso de todos os funcionrios que possuem o cargo Auxiliar ou que
trabalham na seo PDE - Depto Pesquisa e Desenvolvimento.

14) Mostre o total gasto em salrio pela empresa por filial, alm da mdia salarial de cada filial.

15)Selecione o nome dos funcionrios que tem o salrio superior a todos os funcionrios da seo COM
Depto Comercial.

Treinamento RM: Caminho certo para o sucesso profissional. 23


Reproduo Proibida
Consultas SQL base CORPORE RM / RM Bis
Verso: 4.03
--------------------------------------------------------------------------------------
16) Encontre todos os nome dos funcionrios que comecem com a letra A mas que no trabalham na
seo DST Suporte Tcnico.

17) Encontre todos os funcionrios que possuem o cargo Tcnico e que foram ganham mais que os
funcionrios da filial 'RM Sistemas - Filial RJ'.

18) Mostre o cdigo da seo, a soma dos salrios, o maior salrio, o nmero de funcionrios e a mdia
salarial onde o maior salrio seja inferior que a soma dos salrios da seo.

19) Informe quais so as sees que possuem 2 ou mais funcionrios em uma determinada
funo em ordem decrescente de nome das sees..

Treinamento RM: Caminho certo para o sucesso profissional. 24


Reproduo Proibida
Consultas SQL base CORPORE RM / RM Bis
Verso: 4.03
--------------------------------------------------------------------------------------
20)Desafio: Selecione todas colunas de nomes/descries de origem relacionados com as colunas (foreign
keys) da tabela pfunc (descritos no D.E.R exemplo) .

Outer Joins
As consultas feitas anteriormente so feitas com base em INNER JOINs, essas consultas desprezam, ou
melhor, no listam as linhas que no tenham um dado correspondente na outra tabela, assim se eu vou
relacionar a tabela de bancos e funcionrios, s viram os funcionrios que tenham pelo menos um banco
cadastrado e os nomes dos bancos que tenham pelo menos um funcionrio cadastrado.
A consultas com OUTER JOINS produzem resultados contendo as colunas selecionadas de cada linha em
uma tabela mesmo que esta no tenha relao com um subconjunto de linhas de uma outra tabela. A
sintaxe para uma consulta com OUTER JOIN :

SELECT lista_colunas
FROM <tabela_esquerda> { LEFT | RIGHT | FULL } [OUTER] JOIN
<tabela_direita> [ ON <condies>]
[WHERE <condies>]

Assim, se eu utilizar o OUTER JOIN no exemplo acima, ele listar os bancos e os funcionrios
independente de terem relao. A clusula LEFT, RIGHT e FULL determinar se qual tabelas ser listada na
integra, ou se ambas no caso do FULL.

necessrio especificar o tipo de juno (JOIN) a ser executado. Existem trs possibilidades:

Um LEFT OUTER JOIN ou LEFT JOIN recupera todas as linhas da tabela esquerda da juno e recupera
aquelas linhas da tabela direita que satisfazem as condies especificados na clusula ON.
Um RIGHT OUTER JOIN ou RIGHT JOIN recupera todas as linhas da tabela direita da juno e recupera
aquelas linhas da tabela esquerda que satisfazem as condies especificados na clusula ON.
Um FULL OUTER JOIN ou FULL JOIN recupera todas as linhas de ambas as tabelas independentemente
das condies especificadas na clusula ON.

A utilizao de consultas com OUTER JOINS til quando queremos comparar todos os dados de uma
tabela com o subconjunto dos dados relacionados na outra tabela.

Exemplos:

1) SELECT P.NOME,B.NOME FROM PFUNC P LEFT OUTER JOIN


GBANCO B ON P.CODBANCOPAGTO=B.NUMBANCO

Lista todos os nomes dos funcionrios e os nomes dos bancos de depsito de pagamento somente para
aqueles que possuem contas de pagamento cadastradas.

Treinamento RM: Caminho certo para o sucesso profissional. 25


Reproduo Proibida
Consultas SQL base CORPORE RM / RM Bis
Verso: 4.03
--------------------------------------------------------------------------------------
Nos SGBDs do ORACLE e SQL SERVER, temos outras maneiras de especificarmos um outer join na
clusula WHERE, que utilizando o (+) e o * respectivamente. Vejamos como ficariam o exemplo um desta
nova maneira:

1) SELECT P.NOME,B.NOME FROM PFUNC P LEFT OUTER JOIN


GBANCO B ON P.CODBANCOPAGTO=B.NUMBANCO

Em Oracle:

SELECT P.NOME,B.NOME
FROM PFUNC , GBANCO
WHERE P.CODBANCOPAGTO (+)= B.NUMBANCO

Em SQL Server

SELECT P.NOME,B.NOME
FROM PFUNC , GBANCO
WHERE P.CODBANCOPAGTO *= B.NUMBANCO

Exerccios - Parte III

1) Listar os nomes, as chapas e os nomes dos bancos de fgts de todos funcionrios da coligada 1, mesmo
que ele no tenha conta de FGTS cadastrada, mostrando o total gasto por filial.

2) Listar os nomes dos funcionrios e os nomes de todos os sindicatos independente dele possuir
funcionrio filiado ou no.

Treinamento RM: Caminho certo para o sucesso profissional. 26


Reproduo Proibida
Consultas SQL base CORPORE RM / RM Bis
Verso: 4.03
--------------------------------------------------------------------------------------
3) Liste os nomes, as chapas e os salrios dos funcionrios e a descrio da situao de todos os
funcionrios.

4)Liste os nomes de todas as funes, e naquelas que possuem funcionrios, mostre o total de salrio gasto
com cada uma em ordem salarial do maior para o menor.

EXERCCIOS GERAIS

Exerccio 1
1) O que um SGDB?

2) O que uma tabela?

3) O que uma chave primria?

4) O que uma chave estrangeira?

5) O que banco de dados cliente/servidor?

6) O que pode repetir, chave primria ou estrangeira? Porque?

Treinamento RM: Caminho certo para o sucesso profissional. 27


Reproduo Proibida
Consultas SQL base CORPORE RM / RM Bis
Verso: 4.03
--------------------------------------------------------------------------------------
Exerccio 2
1) Selecione os nomes dos funcionrios sem repetio.

2) Selecione o nome e o cdigo das filiais.

3) Selecione o nome, salrio e a data de admisso de todos os funcionrios.

4) Selecione o nome dos bancos.

5) Selecione o cdigo e a descrio de todas as situaes.

6) Selecione o nome, chapa e sexo dos dependentes.

7) Selecione todos os nomes das funces.

8) Selecione todos os nomes dos cargos.

Treinamento RM: Caminho certo para o sucesso profissional. 28


Reproduo Proibida
Consultas SQL base CORPORE RM / RM Bis
Verso: 4.03
--------------------------------------------------------------------------------------

Exerccio 3
1. Escreva o cdigo SQL que retorna os dados pedido.

a) Listar o nome das funes que comeam com a letra A.

b) Listar o Nome dos funcionrios que possui o menor salrio e o nome do funcionrio que possui
o maior salrio.

c) Listar o nome dos funcionrio que trabalham na seo que possui o maior salrio.

d) Listar o nome dos funcionrio que trabalham na seo que possui o menor salrio.

e) Listar o nome dos funcionrios da filial 1 ou 2 que possuem mdia salarial superior 500

2. Marque V ou F nas questes abaixo:

a) Select * from pfunc


( ) esta consulta me mostra todos os funcionrios da tabela PFUNC, exclusivamente pelo uso do *.
( ) esta consulta me traz todos os campos da tabela pfunc exclusivamente pelo uso do *.
( ) esta consulta esta complemente errada no pode usar * sem a clusula HAVING.

b) Select codsecao
From Pfunc
Where codcoligada = 1 and salario > 100
Group by codsecao
Having max(salario) < 10000 and min(salario) >=200
Order by min(salario)

( ) Esta consulta est errada, porque no pode Ter a Clusula HAVING antes do GROUP BY.
( ) Esta consulta est errada , porque no se pode fazer mais de uma comparao na clusula HAVING.
( ) Esta consulta est certa e muito bem escrita, principalmente na parte que envolve a SubQuery .
( ) Esta consulta esta correta, o Having pede um GROUP BY, o mesmo est trazendo o campo certo
agrupamento.

3. A consulta abaixo est correta? Se no por favor conserta-la no espao abaixo e indicar onde foram o
(s) erros.

Treinamento RM: Caminho certo para o sucesso profissional. 29


Reproduo Proibida
Consultas SQL base CORPORE RM / RM Bis
Verso: 4.03
--------------------------------------------------------------------------------------
SELECT avg(salario), nome
FROM pfunc, gfilial
GROUP BY nome
HAVING avg(salario)>1000

4. A consulta abaixo est correta? Se no por favor conserta-la no espao abaixo e indicar onde foram o
(s) erros.

SELECT count(p.chapa),f.nome
FROM pfunc p ,pfuncao f
WHERE p.codfuncao=f.codigo and p.codcoligada=f.codcoligada
GROUP BY f.nome
HAVING chapa like 0001%
ORDER BY f.nome

Exerccio 4
1) Selecione os nomes dos funcionrios cujo nome da filial comece com a letra F.

2) Selecione os distintos cdigos dos cargos e a chapa dos funcionrios da coligada RM Sistemas.

3) Quais so os funcionrios que esto com a descrio da situao Licena Mater..

4) Quais so os nomes das funces que possue a secao COM - Depto Comercial?

5) Mostre as filiais da coligada 1.

Treinamento RM: Caminho certo para o sucesso profissional. 30


Reproduo Proibida
Consultas SQL base CORPORE RM / RM Bis
Verso: 4.03
--------------------------------------------------------------------------------------
6) Selecione todos os nomes dos funcionrios exceto os que tm o nome comeando com a letra A.

DIAGRAMA DE ENTIDADES E RELACIONAMENTOS

GCOLIGADA
*Codcoligada - Smallint
Nome - Varchar (40)
Nomefantasia - Varchar (35)
1

GFILIAL

*Codcoligada -Smallint
*Codfilial - Smallint
Nome - Varchar (40)
Nomefantasia - Varchar (35)

PSECAO

*Codcoligada - Smallint
*Codigo - Varchar (35)
#Codfilial - Smallint
Descricao- Varchar (60)

PCARGO 1
*Codcoligada - Smallint
*Codigo - Varchar (16)
Nome - Varchar (40)
1
CORPORE RM (Opcional) PSINDIC
N
*Codcoligada - Smallint
N N 1 *Codigo - Varchar(10)
Nome - Varchar (120)
PFUNC
PFUNCAO

*Codcoligada - Smallint 1
*Codigo - Varchar (10) PCODSITUACAO
#Cargo - Varchar (16)
Nome - Varchar (40) 1 *Codcoligada - Smallint
* Chapa - Varchar (16) N 1 *Codcoligada - Smallint
#Codfilial - Smallint *Codcliente - Char (1)
#Codsecao
Treinamento RM: Caminho certo para o sucesso - Varchar (35)
profissional. Descricao - Varchar (50) 31
#CodFuncao - Varchar (10)
PFDEPEND N #Codsindicato - Proibida
Reproduo Varchar (10)
#Codsituacao - char (1)
*Codcoligada - Smallint N #Codbancofgts - Varchar (3)
#Chapa - Varchar (16) #Codbancopagto - Varchar (3) GBANCO
*Nro Depend - Smallint Nome - Varchar (45)
Nome - Varchar (30) Salario *Numbanco - Varchar (3)
Sexo- Varchar (1) Dataadmissao - Datetime (8) N 1 Nome - Varchar (40)
Datademissao - Datetime (8)
Consultas SQL base CORPORE RM / RM Bis
Verso: 4.03
--------------------------------------------------------------------------------------

Treinamento RM: Caminho certo para o sucesso profissional. 32


Reproduo Proibida
Consultas SQL base CORPORE RM / RM Bis
Verso: 4.03
--------------------------------------------------------------------------------------
Parmetros do RM BIS
Neste menu o usurio ter a opo de Atualizar ou no as informaes ao abrir um cubo, ou seja,
quando este parmetro estiver marcado, ao se abrir um cubo, as informaes sero atualizadas
automaticamente de acordo com a base de dados. Quando no estiver marcado, o cubo ser aberto
apresentando as informaes salvas anteriormente (figura 1).
OBS.: Caso nenhuma informao tenha sido gravada no cubo, aparecer uma mensagem para
confirmar ou no a atualizao das informaes de acordo com a base de dados.

Cubo de Deciso
Nesta pasta ser feita a anlise dos dados registrados no banco de dados CORPORE RM, a funo
dos Cubos de deciso trazer informaes atualizadas e confiveis para tomada de decises
estratgicas dentro de uma empresa, onde o usurio poder dimensionar o cubo da maneira
necessria para a sua consulta.
12. cones do Cubo
Os cones apresentados so:

Abrir Cubo

Abre uma caixa de dilogo onde outro cubo poder ser selecionado para a abertura.
Observao: Ao abrir um outro cubo, voc estar automaticamente fechando o cubo
visualizado.

Salvar Cubo

Salva as alteraes feitas na configurao do cubo. Uma caixa de dilogo ser apresentada
para que um nome de arquivo seja informado.
Observao: Para preservar a antiga configurao do cubo, informe outro nome no campo
Nome do Arquivo. Para gravar a nova configurao por cima da antiga configurao do cubo,
preserve o nome do cubo e apenas pressione o boto OK.

Treinamento RM: Caminho certo para o sucesso profissional. 33


Reproduo Proibida
Consultas SQL base CORPORE RM / RM Bis
Verso: 4.03
--------------------------------------------------------------------------------------
Atualizar Informaes

Atualiza as informaes da base de dados.

Visualizar/Imprimir Cubo

Visualiza a impresso do cubo, caso a pasta Cubo esteja marcada. e, caso a pasta Grfico esteja
marcada, imprime o grfico.

Exportar para o Excel

Para exportar o cubo para o MS Excel, clique no cone e informe um nome para o arquivo .XLS.

Exportar para Arquivo

Para Exportar um Cubo para o formato CSV (Comma Separated Values)


Observao:
Arquivos com a extenso .csv podem ser importados em planilhas eletrnicas ou gerenciadores de
bancos de dados.

Visualizar Sentenca SQL

Para visualizar a Sentena SQL que gerou o cubo, clique no cone da barra de ferramentas.
Observao:
A sentena SQL no poder ser alterada.

13. reas de Diviso do Cubo

rea de Dimenses: regio que contm as dimenses disponveis para a organizao dos
dados.
rea de Consulta: regio que contm as dimenses utilizadas na anlise dos dados e os dados
propriamente ditos. Esta rea por sua vez se divide em 4 espaos distintos:
- Linhas de Consulta - apresenta as dimenses que formam a rea de Registros.
- Colunas de Consulta - apresenta as dimenses que formam a rea de Dados.
- rea de Registros - apresenta os dados obtidos atravs da consulta ao Banco de Dados
do CorporeRM, organizados de acordo com as Linhas de Consulta.
- rea de Dados - apresenta os dados obtidos atravs da consulta ao Banco de Dados do
CorporeRM organizados de acordo com a rea de Registros e com as Colunas de
Consulta.

Treinamento RM: Caminho certo para o sucesso profissional. 34


Reproduo Proibida
Consultas SQL base CORPORE RM / RM Bis
Verso: 4.03
--------------------------------------------------------------------------------------
Observao:

Uma dimenso pode conter um ou mais campos da base de dados CORPORE RM ou pode ser parte
de um desses campos.

14. Alterando a Dimenso da Anlise dos Dados

A disposio das dimenses influencia a anlise dos dados. Alterando uma dimenso de lugar voc
estar alterando a forma de visualizar os dados. Cada dimenso pode conter um ou mais registros, e
a seleo destes registros, influencia tambm a anlise dos dados.
Exemplo:
Baseando na figura acima, caso arraste a dimenso Centro Despesa para a Linha da rea de
Consulta, a anlise ficar mais detalhada. Anteriormente, a anlise era baseada em todos os
pagamentos/recebimentos de cada filial pertencente coligada RM Sistemas. Agora a anlise est
baseada em todos os pagamentos/recebimentos de cada centro de despesa de cada filial pertencente
coligada RM Sistemas.

15. Para Acrescentar uma Dimenso na rea de Consulta.

Na rea de Dimenses, posicione o mouse sobre a dimenso que deseja acrescentar rea
de Consulta. O ponteiro do mouse ir alterar para

Mantendo o boto esquerdo do mouse pressionado, arraste a dimenso para a posio


desejada na Linha/Coluna da rea de Consulta.

Aparecer o indicador , informando a posio na qual a dimenso ser acrescentada.

Treinamento RM: Caminho certo para o sucesso profissional. 35


Reproduo Proibida
Consultas SQL base CORPORE RM / RM Bis
Verso: 4.03
--------------------------------------------------------------------------------------
16. Para Remover uma Dimenso da rea de consulta

Na rea de Consulta, posicione o mouse sobre a dimenso que deseja remover e, arraste-a para
uma posio na rea de Dimenses.

17. Para Alterar a posio de uma Dimenso da rea de Consulta.

Na rea de Consulta, posicione o mouse sobre a dimenso que deseja mover e, arraste-a para
outra posio desta rea. Uma dimenso pode ser movida entre as posies da linha/coluna ou
pode ser movida de uma linha para uma coluna (ou vice-versa).

18. Para Selecionar/Deselecionar um ou mais Registros de uma Dimenso.

Clique na Seta para Baixo, ao lado direito do nome da dimenso, uma lista de registro
pertencentes a essa dimenso ir aparecer.

Clique no Quadrado do registro ao qual voc deseja selecionar/deselecionar.

Clique novamente na Seta para Baixo para confirmar a seleo.

Observao:
Para Selecionar / deselecionar todos os registros de uma dimenso, mantenha pressionada a tecla
CTRL e clique em qualquer registro.

19. Grfico
Nesta pasta ser visualizado o grfico referente aos valores selecionados na pasta Cubo de Deciso.

Esta pasta possui dois campos:

Tipo do Grfico - Determina qual ser o tipo de grfico a ser apresentado: barras, linhas,
pontos, rea, pizza e linhas finas.

Observao:
Devido a prpria caracterstica do grfico de pizza, deve-se selecionar apenas uma coluna ou uma linha
para esse tipo de grfico.

3D - Determina se o o grfico ir ser apresentado no formato tridimensional () ou no.

Para visualizar o grfico, siga os passos abaixo:

Na pasta Cubo de Deciso, selecione, com o mouse, os valores desejados.

Depois, clique na pasta Grfico.

Observaes:
Treinamento RM: Caminho certo para o sucesso profissional. 36
Reproduo Proibida
Consultas SQL base CORPORE RM / RM Bis
Verso: 4.03
--------------------------------------------------------------------------------------
Para visualizar no grfico os valores selecionados na pasta Cubo de Deciso, clique em cada
coluna. O sistema automaticamente, ir mostrar o valor selecionado desta coluna. Para retirar o valor
selecionado, clique novamente na coluna.

Para aumentar/diminuir a escala do grfico, selecione a rea do grfico desejada.

Exemplo: Para aumentar a escala de uma faixa, selecione a faixa. Todas as outras faixas iro desaparecer
da rea visualizada e apenas a faixa selecionada ser visualizada. Para voltar novamente a visualizar todas
as faixas, selecione toda a rea do grfico a ser visualizada.

Assistente de Criacao de Cubos do RM Bis

Treinamento RM: Caminho certo para o sucesso profissional. 37


Reproduo Proibida
Consultas SQL base CORPORE RM / RM Bis
Verso: 4.03
--------------------------------------------------------------------------------------

Etapa 1 - Sentena SQL

Todo cubo baseado no resultado da execuo de uma sentena SQL e, atravs deste resultado
que so formadas as dimenses do cubo e organizada toda informao nele contida.
Nesta etapa, informe a sentena SQL em que se baseia o cubo a ser criado.

Dica:
Voc pode, acessando a janela de execuo de cubos (Relatrios | Cubos (EIS) | *) visualizar as
sentenas SQL dos cubos que so distribudos junto com RM Bis.

Treinamento RM: Caminho certo para o sucesso profissional. 38


Reproduo Proibida
Consultas SQL base CORPORE RM / RM Bis
Verso: 4.03
--------------------------------------------------------------------------------------
Etapa 2 - Organizao das Dimenses

Nesta etapa organize as colunas criadas atravs da execuo da sentena SQL em dimenses do
cubo. Para criar as dimenses basta arrastar os campos para cada uma das quatro caixas
disponveis: rea de Consulta, Linhas de Consulta, Colunas de Consulta e rea de Dados. Quando o
cubo for executado pela primeira vez os dados sero apresentados da seguinte forma, de acordo com
a localizao de cada dimenso:

Observao:
Pelo menos deve existir uma dimenso criada na rea de dados e nas linhas de consulta.

Treinamento RM: Caminho certo para o sucesso profissional. 39


Reproduo Proibida
Consultas SQL base CORPORE RM / RM Bis
Verso: 4.03
--------------------------------------------------------------------------------------
Etapa 3 - Formatao do Cubo

Nesta etapa configure o texto a ser apresentado em cada dimenso, e no caso das dimenses das
reas de dados, configure a mscara dos valores a serem apresentados.

Etapa 4 - Dados do Cubo


Treinamento RM: Caminho certo para o sucesso profissional. 40
Reproduo Proibida
Consultas SQL base CORPORE RM / RM Bis
Verso: 4.03
--------------------------------------------------------------------------------------

Nesta ltima etapa informe a localizao e o nome do arquivo de cubo a ser criado.

Treinamento RM: Caminho certo para o sucesso profissional. 41


Reproduo Proibida

Você também pode gostar