Você está na página 1de 58

Todos os direitos autorais reservados pela RM SISTEMAS.

Proibida a reproduo total ou parcial, bem como a armazenagem em


sistema de recuperao e a transmisso, de qualquer modo ou por
qualquer outro meio, seja este eletrnico, mecnico, de fotocpia, de
gravao, ou outros, sem prvia autorizao por escrito da proprietria.
O desrespeito a essa proibio configura uma apropriao indevida dos
direitos intelectuais e patrimoniais da RM SISTEMAS.
Aos infratores se aplicam as sanes previstas nos artigos 122 e 130
da Lei n 5.988 de 14 de dezembro de 1973.

Consultas SQL

base CORPORE RM e
RM Bis
Professor
Verso: 6.0.2

Treinamentos
www.rm.com.br

A RM Sistemas foi fundada em 1986 e atualmente uma das


maiores empresas de sistemas de gesto empresarial do
mercado brasileiro. So mais de 19 mil clientes de pequeno,
mdio e grande porte que utilizam o CORPORE RM. Com matriz
em Belo Horizonte e filiais em So Paulo, Rio de Janeiro,
Curitiba(PR), Uberlndia(MG) e Porto Alegre(RS), a RM Sistemas
est presente em todo pas por meio de mais de 40 canais de
distribuio, alm de uma unidade em Portugal. De acordo com a
revista Isto Dinheiro, a RM Sistemas a "Melhor Empresa do
Setor de Tecnologia de Software e Servios" no ranking "As 500
Melhores da Dinheiro 2005". A RM Sistemas tambm foi eleita,
pela segunda vez (2004 e 2005), a "Melhor Empresa de Software
do Brasil", no Premio INFO 200 da Editora Abril.

O CORPORE RM um sistema de gesto empresarial que utiliza


avanada tecnologia e permite total integrao dos processos
em diferentes setores da empresa e da cadeia produtiva, do
fornecedor ao cliente final. Abrange processos de controladoria,
finanas, automao comercial, produo, manuteno,
assistncia tcnica, CRM, e-commerce, e business intelligence.
Alm disso, possui solues especficas para os segmentos de
educao, sade, construo civil e indstrias.

SERVIOS ON LINE
Atravs do Site RM Sistemas voc tem acesso a servios
exclusivos como: informaes financeiras e cadastrais,
emisso de 2 via de nota fiscal e boleto bancrio, consulta
e ocorrncias, envio de base, senhas e download de novas
verses, log de acessos e frum de discusso. Tudo isso
com total segurana.

Cadastre - se agora mesmo no menu cliente on-line

www.rm.com.br

Consultas SQL base


CORPORE RM / RM Bis
Verso: 6.0.2

NDICE
Viso Geral do CORPORE RM ....................................................................................................04
Apresentao ............................................................................................................................05
Objetivos do Curso ..........................................................................................................05
Contedo Programtico ..................................................................................................05
Expectativas do Curso ....................................................................................................05
MDULO
MDULO 1..............................................................................................................................06
1
Introduo Terica ..........................................................................................................06
Bancos de Dados e SGBDS ............................................................................................06
Tabelas ............................................................................................................................06
Chaves Primrias....................................................................................................07
Chaves Estrangeiras ..............................................................................................07
Banco de Dados Cliente/Servidor ....................................................................................07
Distribuio dos Softwares na Rede (CORPORE RM) ......................................................08
Tipos de Dados................................................................................................................08
Nomeclatura das tabelas do CORPORE RM ....................................................................09
Relacionamento entre tabelas ..........................................................................................10
Diagrama de Relacionamento ................................................................................11
MDULO
MDULO 2..............................................................................................................................12
2
Manipulao dos Bancos de Dados ................................................................................12
Famlias de Comandos SQL ............................................................................................12
O Comando SELECT ........................................................................................................12
Clusula Select ......................................................................................................13
Clusula FROM ......................................................................................................13
Funes de Agrupamento ................................................................................................15
Clusula WHERE ....................................................................................................17
Operadores ............................................................................................................17
Clusula GROUP BY ..............................................................................................19
Clusula ORDER BY................................................................................................19
Clusula HAVING ..................................................................................................20
Clusula UNION ....................................................................................................20
Alias de Tabela (Apelidos) ................................................................................................21
Exerccios - Sentenas RM Labore ..................................................................................21
MDULO
MDULO 3..............................................................................................................................23
3
Consultas com Juno ....................................................................................................23
Alias de Tabela (Apelidos) ................................................................................................24
Exerccios - Sentenas RM Labore ..................................................................................24
Exemplos de Aplicao das Sentenas SQL ....................................................................28
Gerador ..................................................................................................................28
Planilha ..................................................................................................................29
Passagem de Parmetros ................................................................................................30
MDULO
MDULO 4..............................................................................................................................31
4
Outer Joins ......................................................................................................................31
Exerccios - Sentenas RM Labore ..................................................................................32
MDULO
MDULO 5 ............................................................................................................................33
Exerccios Gerais ..............................................................................................................33
Tericos..................................................................................................................33
Setenas RM Fluxus ..............................................................................................33
Setenas RM Saldus ..............................................................................................35
Setenas RM Labore ..............................................................................................35
Setenas RM Nucleus ............................................................................................38
MDULO
MDULO 6..............................................................................................................................39
6
BI(Business Intelligence) ..................................................................................................39
Iniciando o RM Bis ..........................................................................................................39
Menu Cadastros ..............................................................................................................40
Cadastros / Tipos de Cubos....................................................................................41
Relatrios / Cubos(EIS) ..........................................................................................41
Criando Cubos ................................................................................................................42
Roteiro....................................................................................................................42
Editando Cubos ..............................................................................................................48
Pasta Cubo de Deciso ..........................................................................................48
cones do Cubo ......................................................................................................48
reas de Diviso do Cubo................................................................................................49
Alterando a Dimenso da Anlise dos Dados ........................................................51
Para Acrescentar uma Dimenso na rea de Consulta ..........................................51
Para Remover uma Dimenso da rea de Consulta................................................51
Para Alterar a posio de uma Dimenso da rea de Consulta ..............................52
Para Selecionar / No Selecionar Registros de uma Dimenso................................52
Grfico ............................................................................................................................52
Botes Disponveis ................................................................................................52
Para aumentar/diminuir a escala do grfico ............................................................53
Exerccios ........................................................................................................................53
ANEXOS
ANEXOS ..................................................................................................................................54
Treinamentos RM Sistemas ............................................................................................54

Viso Geral do CORPORE RM - Administrativo

Treinamentos RM: caminho certo para o sucesso profissional


Reproduo Proibida

Consultas SQL base


CORPORE RM / RM Bis - Verso 6.0.2

ANOTAES

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 CORPORE RM na rede;
Comandos de Manipulao de Dados - Consultas SQL Bsicas;
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 exclusivamente da clusula SELECT.

Treinamentos RM: caminho certo para o sucesso profissional


Reproduo Proibida

Consultas SQL base


CORPORE RM / RM Bis - Verso 6.0.2

ANOTAES

Mdulo 1
Introduo Terica
Bancos de Dados e SGBD
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 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 geralmente classificada como o banco
de dados. O principal objetivo de um SGBD proporcionar um ambiente
conveniente e eficiente, para coletar e armazenar informaes no banco de
dados.
O gerenciador de banco de dados o mdulo que prov a interface entre as
informaes armazenadas no banco de dados e, os programas de aplicao
e consultas submetidas ao sistema. O gerenciador responsvel pela interao com o sistema operacional, para o gerenciamento do acesso aos
arquivos, para a garantia de integridade e segurana, pelo backup e recuperao de dados e controle de concorrncia.
Existem diversos modelos de banco de dados, entre eles podemos
citar:

modelo
modelo
modelo
modelo

de rede;
hierrquico;
relacional;
orientado a objetos.

Dentre 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 os campos comuns 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 CORPORE RM trabalha com os seguintes bancos de dados:

Verso 8.0 e 8.i

Verso 7.0 e 2000

Tabelas
Unidade bsica de armazenamento em um banco de dados relacional.
Propriedades
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 de atributos ou campos.

Treinamentos RM: caminho certo para o sucesso profissional


Reproduo Proibida

Consultas SQL base


CORPORE RM / RM Bis - Verso 6.0.2

ANOTAES

Funcionrios
chapa

1001
1002
1003
1004
1005
1006

nome

Joo
Alberto
Franciso
Maria
Snia
Roberto

endereo

.
.
..
..
...
.

telefone

...

5554444
4687999
NULL
5678900
0988855
NULL

~~~
~~~
~~~
~~~
~~~

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 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 CORPORE RM.
Bancos de Dados Cliente/Servidor
Antes de surgirem os bancos
de dados cliente/servidor, a
maioria dos bancos de dados
armazenava seus dados na
mesma mquina onde eram
manipulados. Com o surgimento das redes locais, os
bancos
de
dados
foram
transferidos para o computador
central, que armazenava os
registros, en-quanto os ns da
rede (computadores cliente,
estaes de trabalho de cada
usurio)
requisitavam
tais
dados para manipul-los.

SQL Server
A
B
C

Client Application

Treinamentos RM: caminho certo para o sucesso profissional


Reproduo Proibida

Consultas SQL base


CORPORE RM / RM Bis - Verso 6.0.2

ANOTAES

Com a difuso dos bancos de dados cliente/servidor, este problema foi superado. Isto porque, agora, ao realizar uma 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 os resultados so retornados
estao/cliente.
Observao:
Os aplicativos do CORPORE RM acessam o servidor atravs do
BDE, que retorna apenas a consulta ou o resultado final para as
estaes cliente.
Distribuio dos softwares na Rede (CORPORE RM)
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 RM);
BDE - Borland DataBase Engine (Localiza o Servidor do Banco de
Dados);
Aplicativos - CORPORE RM;
No Ambiente Cliente/Servidor
No Servidor - Instala-se o SGBDR e a Base de Dados (MS-SQL, Oracle
ou Interbase).
Nas Estaes Clientes - Se for SQL Server ou Oracle, instala-se o
cliente SQL dos mesmos, instala-se ento o BDE e, posteriormente, os
Aplicativos RM.
No Ambiente Local
Estao Local - Instala-se o SGBDR, a Base de Dados, o BDE e os
Aplicativos.
Tipos de Dados
Os tipos de dados abaixo relacionados, so tipos 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 fixo, independente do
tamanho dos dados registrados no campo.
Varchar (n)
Armazena at 255 caracteres. Ao contrrio de CHAR, este tipo s
armazena os dados efetivamente registrados, utilizando, portanto,
menor espao em disco.
Datetime
Armazena datas. O padro MM-DD-YYYY HH:MMAM. Para
apresentar somente horas, o valor precisa conter um sinal de dois
pontos (:) ou a expresso AM ou PM. Sempre informe valores deste
tipo entre aspas simples.
Numeric (p, s)
Armazena nmeros exatos entre:
1038 ~ 1~ a 1038 ~ 1
Os parmetros p e s definem a preciso.

Treinamentos RM: caminho certo para o sucesso profissional


Reproduo Proibida

Consultas SQL base


CORPORE RM / RM Bis - Verso 6.0.2

ANOTAES

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 tamanho varivel, que armazena caracteres. Deve ser
utilizado entre aspas simples. Suporta uma grande quantidade de
armazenamento de textos.
Image
Tipo de dado de tamanho varivel, que armazena dados do tipo binrio. Deve ser precedido de 0x.
Exemplo:
Fotos, mapas, imagens digitalizadas.
Observao:
Campos date e texto (char, varchar, etc) devem sempre aparecer
entre aspas simples em expresses.
Nomenclatura das tabelas do CORPORE RM
A base de dados do CORPORE
RM composta de vrias tabelas
relativas aos aplicativos. Para
maior facilidade de manipulao
dos dados, estas tabelas foram
nomeadas (codificadas) de acordo com o aplicativo. Por exemplo,
todas as tabelas que iniciam com
a letra T, so tabelas pertencentes ao aplicativo RM Nucleus.
Veja tabela a seguir:

RM
RM
RM
RM
RM
RM
RM
RM
RM
RM
RM
RM
RM
RM
RM
RM
RM
RM
RM
RM

Sistema
CHRONUS
TESTIS
SALDUS
LIBER
CLASSIS - E
FLUXUS
BIS
AGILIS
BONUM
PLANOS
FACTOR
BIBLIOS
SOLUM
OFFICINA
SADE
LABORE
NUCLEUS
CLASSIS - U
VITAE
SGI

Treinamentos RM: caminho certo para o sucesso profissional


Reproduo Proibida

Cdigo
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
T
U
V
X

10

Consultas SQL base


CORPORE RM / RM Bis - Verso 6.0.2

ANOTAES

Relacionamento entre tabelas


De acordo com os conceitos de banco de dados relacional, haver
relacionamento quando existirem campos comuns entre as tabelas. Estes
campos correspondem chave primria e estrangeira destas tabelas.
Veja exemplo de relacionamento com as tabelas do RM Labore:
1) gcoligada.codcoligada

pfunc.codcoligada

2) gfilial.codcoligada
gfilial.codfilial

pfunc.codcoligada
pfunc.codfilial

3) psecao.codcoligada
psecao.codigo
psecao.codfilial

pfunc.codcoligada
pfunc.codsecao
pfunc.codfilial

4) psindic.codcoligada
psindic.codigo

pfunc.codcoligada
pfunc.codsindicato

5) gbanco.numbanco

pfunc.codbancopagto
ou pfunc.codbancofgts

6) pfuncao.codcoligada
pfuncao.codigo

pfunc.codcoligada
pfunc.codfuncao

7) pcodsituacao.codcliente

pfunc.codsituacao

8) pcargo.codcoligada
pcargo.codigo

pfuncao.codcoligada
pfuncao.cargo
pfuncao.codigo

pfunc.codcoligada
pfunc.codfuncao

Treinamentos RM: caminho certo para o sucesso profissional


Reproduo Proibida

Consultas SQL base


CORPORE RM / RM Bis - Verso 6.0.2

ANOTAES

11

Diagrama de Relacionamento
Para facilitar a visualizao das tabelas de um aplicativo e o relacionamento
entre as mesmas, dispomos de exemplo grfico das tabelas.
Aplicativo RM Labore

DIAGRAMA DE ENTIDADES E RELACIONAMENTOS

GCOLIGADA

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

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

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

PCARGO

*Codcoligada - Smallint
*Codigo - Varchar (16)
Nome - Varchar (40)

PSINDIC

N
N

PFUNC

*Codcoligada - Smallint
*Codigo - Varchar(10)
Nome - Varchar (120)

PFUNCAO
*Codcoligada - Smallint
*Codigo - Varchar (10)
#Cargo - Varchar (16)
Nome - Varchar (40)

N
1

PFDEPEND
*Codcoligada - Smallint
#Chapa - Varchar (16)
*Nro Depend - Smallint
Nome - Varchar (30)
Sexo - Varchar (1)

N
*Codcoligada - Smallint
*Chapa - Varchar (16)
#Codfilial - Smallint
#Codsecao - Varchar (35)
#CodFuncao - Varchar (10)
#Codsindicato - Varchar (10)
N
#Codsituacao - Char (1)
#Codbancofgts - Varchar (3)
#Codbancopagto - Varchar (3)
Nome - Varchar (45)
Salario
Dataadmissao - Datetime (8)
Datademissao - Datetime (8)
N

Treinamentos RM: caminho certo para o sucesso profissional


Reproduo Proibida

PCODSITUACAO

*Codcoligada - Smallint
*Codcliente - Char (1)
Descricao - Varchar (50)

GBANCO
1

*Numbanco - Varchar (3)


Nome - Varchar (40)

12

Consultas SQL base


CORPORE RM / RM Bis - Verso 6.0.2

ANOTAES

MDULO 2
Manipulao dos Bancos de Dados
Padro SQL (Structured Query Language)
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:
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 CORPORE RM 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 de nos 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;
Na estrutura do comando SELECT, cada parte do comando chamada de Clusula.
Clusula SELECT: Lista colunas (campos) 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 do uso de agrupamento
(funes);
Clusula ORDER BY: Lista de coluna(s) para ordenao [ASC (ascendente)| DESC (descendente)].
Para efeitos didticos dividiremos o comando SELECT em dois tipos de consultas:
1) Consultas simples (em uma nica tabela).
2) Consultas com juno (em duas ou mais tabelas).

Treinamentos RM: caminho certo para o sucesso profissional


Reproduo Proibida

Consultas SQL base


CORPORE RM / RM Bis - Verso 6.0.2

ANOTAES

13

Clusula SELECT
Sintaxe
SELECT (Lista de Colunas);
Lista de Colunas
So as colunas (Campos) a serem selecionadas na tabela, podendo ser
separadas por vrgula. Caso voc deseje ver todos os campos da tabelas use
o caracter * (asterisco).
Argumentos
DISTINCT
Define a visualizao somente dos campos com valores distintos, ou seja,
sem repetio;
ALL
Define que todos os registros sero selecionados, este argumento o
default, assim sendo, no necessrio escrev-lo na setena de consulta.

Clusula FROM
Tabelas com os dados a serem pesquisados;
Lista de Tabelas
a lista de tabelas, cujos registros sero selecionados. Se desejar selecionar mais de uma tabela ou mais de um campo, separe-os por vrgula.
Executando sentenas de consultas SQL
O usurio ter disposio em todos os aplicativos CORPORE RM, um cone
para acesso ao editor de consultas. No exemplo, utilizaremos o Aplicativo
RM Labore, no entanto poder ser acessado de qualquer aplicativo.

Clique no boto correspondente, na barra de ferramentas do aplicativo, ou


acesse MENU UTILITRIOS / CONSULTAS SQL.
Ser apresentada a janela de viso de consultas. Para inserir uma nova
consulta, basta clicar no cone "Inserir Novo", a seguinte janela ser
apresentada:

Treinamentos RM: caminho certo para o sucesso profissional


Reproduo Proibida

14

Consultas SQL base


CORPORE RM / RM Bis - Verso 6.0.2

ANOTAES

Como exemplo utilizaremos, inicialmente, a consulta de seleo de


funcionrios:
SELECT NOME, SALARIO FROM PFUNC
Campos selecionados
Nome e salrio.
Tabela a ser pesquisada
PFUNC, tabela de funcionrios do aplicativo RM Labore.
Para verificar o resultado da consulta, o usurio deve pressionar o boto
Executar.
Ser apresentado o seguinte resultado:

Algumas sentenas sero muito utilizadas para localizao das tabelas e


colunas do CORPORE RM.
Exemplos:
SELECT * FROM GSISTEMA
Lista todos os dados dos sistemas CORPORE RM.
SELECT * FROM GCAMPOS
Ideal para localizao das tabelas e colunas do CORPORE RM.
SELECT * FROM GCAMPOS
WHERE DESCRICAO = FUNCIONARIOS
SELECT * FROM GCAMPOS
WHERE TABELA = PFUNC AND
DESCRICAO = SALARIO
SELECT * FROM GLINKSREL
Lista todos os relacionamentos das tabelas.
SP_HELP PFUNC
Lista todas as informaes da tabela pfunc: O nome das colunas,
as chaves primrias, chaves estrangeiras, tipos de dados, ndices, etc.
Observao:
SP_HELP uma stored procedure e somente pode ser executada
no Banco de Dados, atravs do mdulo Query Analyzer.

Treinamentos RM: caminho certo para o sucesso profissional


Reproduo Proibida

Consultas SQL base


CORPORE RM / RM Bis - Verso 6.0.2

ANOTAES

15

Aplicativo RM Labore:
SELECT ALL CODSITUACAO FROM PFUNC
Lista todos os cdigos de situao existentes na tabela de funcionrios (com
repetio).
SELECT DISTINCT CODSITUACAO FROM PFUNC
Lista todos os cdigos de situao existentes na tabela de funcionrios (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 tenham data de demisso diferente de nula (preenchida).
Aplicativo RM Nucleus
SELECT CODIGOPRD CODIGO, NOMEFANTASIA, PRECO1, PRECO2,
PRECO3, CODUNDCONTROLE FROM TPRD
Lista os seguintes dados da tabela de produtos:
Cdigo, nome fantasia, preo 1, 2 e 3, e cdigo da unidade de controle.
SELECT CODIGOCONTRATO, DATACONTRATO, VALORCONTRATO,
DATAINICIO, DATAFIM FROM TCNT
Lista os seguintes campos da tabela de contratos:
Cdigo do contrato, data do contrato, valor, data inicial e final do contrato.

Funes de Agrupamento
Funes que retornam resultados baseados em grupos de linhas. Por
padro todas as linhas de uma tabela so tratadas como um grupo.
Observao:
As funes de agrupamento ignoram valores nulos. A nica
exceo a funo COUNT, que em alguns tipos de aplicao
podero considerar tambm os valores nulos.
As funes que sero estudadas neste curso so:
1)
2)
3)
4)
5)

COUNT;
AVG;
MAX;
MIN;
SUM.
Observao:
Usando o DISTINCT, a funo s atua nos valores diferentes.

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


Exemplos:
Utilizando Tabelas do RM Nucleus
SELECT COUNT (*) FROM TPRD
Lista a quantidade de produtos existentes na tabela.
SELECT COUNT (DISTINCT PRECO1) FROM TPRD
Lista a quantidade de produtos que no tenham preos repetidos.

Treinamentos RM: caminho certo para o sucesso profissional


Reproduo Proibida

16

Consultas SQL base


CORPORE RM / RM Bis - Verso 6.0.2

ANOTAES

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


so ignorados.
Exemplos:
Utilizando Tabelas do RM Labore
SELECT SUM (SALARIO) FROM PFUNC
Lista o total (soma) de salrios de todos os funcionrios da tabela.
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.
Exemplos:
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.
SELECT AVG(DISTINCT SALARIO) FROM PFUNC
Lista a mdia dos salrios no repetidos da tabela.
4. MAX: Lista o maior valor de uma coluna.
Exemplos:
SELECT MAX(SALARIO) FROM PFUNC
Lista o maior salrio da tabela.
5. MIN: Lista o menor valor de uma coluna, valor Nulo ignorado.
Exemplos:
SELECT MIN(SALARIO) FROM PFUNC
Lista o menor salrio da tabela.

Treinamentos RM: caminho certo para o sucesso profissional


Reproduo Proibida

Consultas SQL base


CORPORE RM / RM Bis - Verso 6.0.2

ANOTAES

17

Clusula WHERE
WHERE
Determina uma condio que os registros devem satisfazer, para serem
selecionados em uma ou mais tabelas.
Exemplo:
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.
Utilizando Tabelas do RM Fluxus.
SELECT IDLAN, CODCFO, DATAVENCIMENTO, VALORORIGINAL
FROM FLAN
WHERE DATAVENCIMENTO>='01/01/2004'

Operadores
H diversos tipos de operadores. Quando 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.
2.
3.
4.
5.
6.
7.

(+) Positivo, - Negativo, ~ NOT


(*) Multiplicao, (/) Diviso, (%) Mdulo
(+) ADD e Concatenao, (-) Subtrao
= , <, >, =>, <=,!=, !>,!< (Comparao)
NOT
AND
ALL, ANY, BETWEEN, IN, LIKE OR SOME
Exemplos:
1. (+) ADD:
Exemplo:
SELECT NOME, SALARIO + 400 FROM PFUNC
Seleciona o nome dos funcionrios, adicionando 400 reais no
salrio de todos.
2. CONCATENAO:
Exemplo:.
SELECT NOME, RUA+ ','+ NUMERO FROM PPESSOA
Seleciona o nome dos funcionrios, unindo as colunas Rua e
Nmero.
3. DIVISO
Exemplo:
SELECT NOME, SALARIO / 20 FROM PFUNC
Seleciona o nome e o salrio dos funcionrios dividido por 20.
A Tabela abaixo mostra os operadores aceitos em comparaes:
Igualdade
Desigualdade
Maior que
Menor que
Maior ou igual a
Menor ou igual a
No maior que
No menor que
No igual a

COMPARAO

=
< >
>
<
> =
< =

! >
! <
! =

Treinamentos RM: caminho certo para o sucesso profissional


Reproduo Proibida

18

Consultas SQL base


CORPORE RM / RM Bis - Verso 6.0.2

ANOTAES

Exemplos de consulta com os Operadores de Comparao:


Igual a (=)
SELECT NOME, SALARIO FROM PFUNC WHERE SALARIO = 580
Lista todos os nomes e salrios dos funcionrios, com salrio igual a
R$ 580,00.
Diferente de (<>)
SELECT NOME, CODSECAO FROM PFUNC WHERE CODSECAO <> '01.01'
Lista todos os nomes e cdigos de seo dos funcionrios, exceto os da
seo 01.01.
Maior que (>)
SELECT NOME, SALARIO FROM PFUNC WHERE SALARIO >500
Lista todos os nomes e salrios dos 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 dos funcionrios, com salrio maior ou igual
a R$ 500,00.
Menor que (<)
SELECT NOME, SALARIO FROM PFUNC WHERE SALARIO <500
Lista todos os nomes e salrios dos 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 dos funcionrios, com salrio menor ou
igual a R$ 500,00.
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 dos funcionrios, com salrios iguais a
R$ 500,00, R$ 700,00, R$ 800,00 e R$ 900,00.

LIKE: Permite procurar strings que atendam determinado padro de


pesquisa.
%(Percentual) - Substitui por um ou mais caracteres.
_(Underscore) - Substitui por um nico caracter.
Exemplos:
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'
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'.

Treinamentos RM: caminho certo para o sucesso profissional


Reproduo Proibida

Consultas SQL base


CORPORE RM / RM Bis - Verso 6.0.2

ANOTAES

19

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.

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

Clusula ORDER BY
ORDER BY
Define a ordem das linhas do resultado de uma pesquisa. Deve ser a ltima
clusula do SELECT. Utiliza-se ASC (ordem crescente) e DESC (ordem
decrescente). O padro de ordenao ASC.
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.
Observao:
Os valores nulos so mostrados por ltimo para seqncias
ascendentes.
Exemplos:
SELECT NOME, SALARIO FROM PFUNC ORDER BY NOME ASC
Lista todos os registros da tabela pfunc, apresentando somente
as colunas com os nomes (em ordem alfabtica) e salrios dos
funcionrios.
SELECT NOME, SALARIO FROM PFUNC ORDER BY NOME DESC
Lista todos os registros da tabela pfunc, apresentando somente
as colunas com os nomes (em ordem decrescente) e salrios
dos funcionrios.

Treinamentos RM: caminho certo para o sucesso profissional


Reproduo Proibida

20

Consultas SQL base


CORPORE RM / RM Bis - Verso 6.0.2

ANOTAES

Clusula HAVING
HAVING
Usada para selecionar os grupos que sero mostrados, com base nas informaes das funes de grupo.
Exemplo:
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, desde que o menor salrio seja
superior a 1000.

Clusula UNION
UNION
Usada para unir duas ou mais consultas (SELECT).
Exemplos:
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.
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.
Um outro exemplo da clusula Union:
SELECT NOME, SALARIO FROM PFUNC
WHERE SALARIO = (SELECT MIN(SALARIO)FROM PFUNC)
UNION
SELECT NOME, SALARIO FROM PFUNC
WHERE SALARIO = (SELECT MAX(SALARIO)FROM PFUNC)

Treinamentos RM: caminho certo para o sucesso profissional


Reproduo Proibida

Consultas SQL base


CORPORE RM / RM Bis - Verso 6.0.2

ANOTAES

21

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 sugestivos, no
momento da visualizao da consulta.
Exemplo:
SELECT NOME, DATAADMISSAO ADMISSAO FROM PFUNC

Exerccios
Sentenas RM Labore:
1) Selecione os nomes, em ordem alfabtica, de todos os funcionrios
da Matriz (filial 1), bem como o cdigo da filial.
SELECT NOME, CODFILIAL FROM PFUNC
WHERE CODFILIAL=1
ORDER BY NOME
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 maio de 2000, que trabalham na filial 1 e
que possuam a funo 00018.
SELECT NOME, SALARIO FROM PFUNC
WHERE SALARIO NOT BETWEEN 400 AND 500 AND
DATAADMISSAO BETWEEN '05/01/2000' AND '05/31/2000' AND
CODFILIAL=1 AND
CODFUNCAO=00018
ORDER BY SALARIO DESC
3) Selecione os nomes dos funcionrios da Filial 1, cujo nome contenha
a letra N.
SELECT NOME FROM PFUNC
WHERE CODFILIAL=1 AND NOME LIKE '%N%'
4) Liste os nomes e os salrios dos funcionrios da coligada 1, cujo
nome contenha a letra M e o salrio seja superior a 500.
SELECT NOME, SALARIO FROM PFUNC
WHERE NOME LIKE '%M%' AND SALARIO > 500 AND CODCOLIGADA=1
5) Selecione os nomes, as chapas, os salrios e a data de admisso dos
funcionrios cujos salrio no estejam entre 400,00 e 500,00 reais,
que foram admitidos em maio de 2000 e que trabalham na filial 1.
SELECT NOME, CHAPA, SALARIO, DATAADMISSAO FROM PFUNC
WHERE SALARIO NOT BETWEEN 400 AND 500 AND
DATAADMISSAO BETWEEN '05/01/2000' AND '05/31/2000' AND
CODFILIAL=1
6) Selecione a quantidade de funcionrios agrupados por seo, que
pertenam a coligada 1.
SELECT CODSECAO, COUNT(*) FROM PFUNC
WHERE CODCOLIGADA=1
GROUP BY CODSECAO
7) Mostre a mdia salarial, o maior e o menor salrio de cada filial.
SELECT CODFILIAL, AVG(SALARIO) MEDIA, MAX(SALARIO)
MAXIMO, MIN(SALARIO) MINIMO FROM PFUNC
GROUP BY CODFILIAL

Treinamentos RM: caminho certo para o sucesso profissional


Reproduo Proibida

22

Consultas SQL base


CORPORE RM / RM Bis - Verso 6.0.2

ANOTAES

8) Mostre os cdigos das sees e a mdia salarial das mesmas, mas


somente das que possuem a mdia salarial maior que 500.
SELECT CODSECAO, AVG(SALARIO) MEDIA FROM PFUNC
GROUP BY CODSECAO
HAVING AVG(SALARIO)>500
9) Selecione o nome e data de admisso dos funcionrios mais antigos
da empresa.
SELECT NOME, DATAADMISSAO FROM PFUNC
WHERE DATAADMISSAO=(SELECT MIN(DATAADMISSAO) FROM
PFUNC)
10) Informe a filial, o nmero de funcionrios de cada filial, a soma dos
salrios, o maior salrio e o menor salrio. Apelidando as colunas:
Filial, Total, Maior e Menor.
SELECT CODFILIAL FILIAL, COUNT(CHAPA)TOTAL, SUM(SALARIO)
SOMA, MAX(SALARIO) MAIOR,
MIN(SALARIO) MENOR FROM PFUNC
GROUP BY CODFILIAL
11) Quantos funcionrios existem em cada sindicato relacionado empresa?
SELECT CODSINDICATO, COUNT(CHAPA) TOTAL FROM PFUNC
GROUP BY CODSINDICATO
12) Selecione o cdigo da seo, a quantidade de funcionrios, sendo o
cdigo da situao igual a A (ATIVO) e, somente da seo com mais
de dois funcionrios.
SELECT CODSECAO SECAO, CODSITUACAO SITUACAO,
COUNT(CHAPA) TOTAL FROM PFUNC
GROUP BY CODSECAO, CODSITUACAO
HAVING COUNT(CHAPA)>2
13) Informe os nomes dos funcionrios que trabalham na seo 01.01,
que possuam funo 00011 ou 00012 e que ganham salrio maior
que 400, em ordem decrescente.
SELECT NOME, CODSECAO SECAO, CODFUNCAO FUNCAO,
SALARIO FROM PFUNC
WHERE CODSECAO=01.01 AND
(CODFUNCAO='00010' OR CODFUNCAO='00011') AND
SALARIO >400
ORDER BY SALARIO DESC
14) Selecione o nome, data de admisso e o cdigo da coligada dos funcionrios, que foram admitidos em maio de 2000 e cujo o nome se
inicie com a letra J.
SELECT NOME, DATAADMISSAO, CODCOLIGADA FROM PFUNC
WHERE DATAADMISSAO BETWEEN '05/01/2000' AND '05/31/2000'
AND NOME LIKE 'J%'

Treinamentos RM: caminho certo para o sucesso profissional


Reproduo Proibida

Consultas SQL base


CORPORE RM / RM Bis - Verso 6.0.2

ANOTAES

23

MDULO 3
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. imprescindvel que as colunas de ligao sejam realmente idnticas (contedo).
na juno de tabelas, que a teoria dos bancos de dados relacionais, se apia
para se diferenciar dos no-relacionais.
A ligao entre tabelas necessria sempre que for preciso selecionar um
valor de uma coluna, 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 (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, conseqentemente, 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.
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 contm a descrio
afastamento) e as chapas dos funcionrios.

Treinamentos RM: caminho certo para o sucesso profissional


Reproduo Proibida

24

Consultas SQL base


CORPORE RM / RM Bis - Verso 6.0.2

Outro exemplo usando a opo INNER JOIN

ANOTAES

SELECT PFUNC.NOME, PFUNCAO.NOME FROM


PFUNC INNER JOIN PFUNCAO
ON PFUNC.CODCOLIGADA= PFUNCAO.CODCOLIGADA AND
PFUNC.CODFUNCAO= PFUNCAO.CODIGO
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.

Alias de Tabela (Apelido)


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

Exerccios
Sentenas RM Labore:
1) Selecione os nomes dos funcionrios, com o nome das sees em
que os mesmos trabalham, sendo que as sees sero listadas em
ordem alfabtica e os nomes em ordem decrescente.
SELECT PFUNC.NOME, PSECAO.DESCRICAO
FROM PFUNC, PSECAO
WHERE PFUNC.CODCOLIGADA=PSECAO.CODCOLIGADA AND
PFUNC.CODSECAO=PSECAO.CODIGO
ORDER BY PSECAO.DESCRICAO ASC, PFUNC.NOME DESC
2) Selecione os nomes e a descrio da situao das funcionrias que
esto de Licena Maternidade.
SELECT PFUNC.NOME, PCODSITUACAO.DESCRICAO
FROM PFUNC, PCODSITUACAO
WHERE PFUNC.CODSITUACAO=PCODSITUACAO.CODCLIENTE
AND PCODSITUACAO.CODCLIENTE='E'
3) Selecione o nome da seo Comercial e o nome dos funcionrios em
ordem alfabtica.
SELECT PFUNC.NOME, PSECAO.DESCRICAO
FROM PFUNC, PSECAO
WHERE PFUNC.CODCOLIGADA=PSECAO.CODCOLIGADA AND
PFUNC.CODSECAO=PSECAO.CODIGO AND
PSECAO.DESCRICAO LIKE 'COM%'
ORDER BY PFUNC.NOME

Treinamentos RM: caminho certo para o sucesso profissional


Reproduo Proibida

Consultas SQL base


CORPORE RM / RM Bis - Verso 6.0.2

ANOTAES

25

4) Selecione a chapa, o nome dos funcionrios e o nome das funes


exercidas por cada um, em ordem crescente de nome da funo.
SELECT PFUNC.CHAPA, PFUNC.NOME, PFUNCAO.NOME FROM
PFUNC, PFUNCAO
WHERE PFUNC.CODCOLIGADA=PFUNCAO.CODCOLIGADA AND
PFUNC.CODFUNCAO=PFUNCAO.CODIGO
ORDER BY PFUNCAO.NOME
5) Liste o nome das sees em que a mdia salarial seja maior ou igual
a 1000 reais, e mostre o valor desta mdia.
SELECT PSECAO.DESCRICAO, AVG(PFUNC.SALARIO) MEDIA
FROM PSECAO, PFUNC
WHERE PFUNC.CODCOLIGADA=PSECAO.CODCOLIGADA AND
PFUNC.CODSECAO=PSECAO.CODIGO
GROUP BY PSECAO.DESCRICAO
HAVING AVG(PFUNC.SALARIO)>=1000
6) Selecione os nomes dos funcionrios, cargos e os nomes das sees
da filial 1, em ordem de nome dos funcionrios.
SELECT GFILIAL.CODFILIAL, PFUNC.NOME, PCARGO.NOME
CARGO, PSECAO.DESCRICAO SECAO
FROM GFILIAL, PFUNC, PCARGO, PSECAO, PFUNCAO
WHERE PFUNC.CODFILIAL=GFILIAL.CODFILIAL AND
PFUNC.CODCOLIGADA=GFILIAL.CODCOLIGADA AND
PCARGO.CODCOLIGADA=PFUNCAO.CODCOLIGADA AND
PCARGO.CODIGO=PFUNCAO.CARGO AND
PFUNCAO.CODCOLIGADA=PFUNC.CODCOLIGADA AND
PFUNCAO.CODIGO=PFUNC.CODFUNCAO AND
PFUNC.CODCOLIGADA=PSECAO.CODCOLIGADA AND
PFUNC.CODSECAO=PSECAO.CODIGO AND
PFUNC.CODFILIAL=1
ORDER BY PFUNC.NOME
7) Liste os cargos que possuem salrios com mdia salarial entre 500 e
1500 reais, e mostre as mdias dos mesmos.
SELECT PCARGO.NOME, AVG(PFUNC.SALARIO) FROM PCARGO,
PFUNC, PFUNCAO
WHERE PCARGO.CODCOLIGADA=PFUNCAO.CODCOLIGADA AND
PCARGO.CODIGO=PFUNCAO.CARGO AND
PFUNCAO.CODCOLIGADA=PFUNC.CODCOLIGADA AND
PFUNCAO.CODIGO=PFUNC.CODFUNCAO
GROUP BY PCARGO.NOME
HAVING AVG(PFUNC.SALARIO) BETWEEN '500' AND '1500'
8) Mostre a mdia salarial, o maior e o menor salrio de cada filial.
SELECT GFILIAL.NOME, AVG(PFUNC.SALARIO) MEDIA,
MAX(PFUNC.SALARIO) MAXIMO, MIN(PFUNC.SALARIO) MINIMO
FROM PFUNC, GFILIAL
WHERE PFUNC.CODCOLIGADA=GFILIAL.CODCOLIGADA AND
PFUNC.CODFILIAL=GFILIAL.CODFILIAL
GROUP BY GFILIAL.NOME

Treinamentos RM: caminho certo para o sucesso profissional


Reproduo Proibida

26

Consultas SQL base


CORPORE RM / RM Bis - Verso 6.0.2

ANOTAES

9) Mostre os Sindicatos, cuja a mdia salarial dos funcionrios seja


maior que 500 reais.
SELECT PSINDIC.NOME, AVG(PFUNC.SALARIO) MEDIA FROM
PSINDIC, PFUNC
WHERE PFUNC.CODCOLIGADA=PSINDIC.CODCOLIGADA AND
PFUNC.CODSINDICATO=PSINDIC.CODIGO
GROUP BY PSINDIC.NOME
HAVING AVG(PFUNC.SALARIO)>500
10) Mostre os nomes e o salrio dos funcionrios que trabalham na coligada RM SISTEMAS LTDA e, que tenham o salrio maior que
R$ 1.000 em ordem decrescente de salrio.
SELECT GCOLIGADA.NOME COLIGADA, PFUNC.NOME,
PFUNC.SALARIO FROM PFUNC, GCOLIGADA
WHERE PFUNC.CODCOLIGADA=GCOLIGADA.CODCOLIGADA AND
GCOLIGADA.NOME='RM SISTEMAS LTDA' AND
PFUNC.SALARIO>1000
ORDER BY PFUNC.SALARIO DESC
11) Quais os nomes dos bancos de pagamento, utilizados pelos funcionrios que possuem o cargo de Gerncia, sem repetio.
SELECT DISTINCT(GBANCO.NOME) BANCO, PCARGO.NOME
CARGO FROM PCARGO, PFUNCAO, PFUNC, GBANCO
WHERE PCARGO.CODCOLIGADA=PFUNCAO.CODCOLIGADA AND
PCARGO.CODIGO=PFUNCAO.CARGO AND
PFUNCAO.CODCOLIGADA=PFUNC.CODCOLIGADA AND
PFUNCAO.CODIGO=PFUNC.CODFUNCAO AND
PFUNC.CODBANCOPAGTO=GBANCO.NUMBANCO AND
PCARGO.NOME='Gerncia'
12) Selecione o cdigo da filial, a quantidade de funcionrios e a mdia
salarial dos funcionrios da funo 'Suporte Tcnico'.
SELECT GFILIAL.CODFILIAL, PFUNCAO.NOME FUNCAO,
COUNT(PFUNC.CHAPA) FUNCIONARIOS,
AVG(PFUNC.SALARIO) MEDIA
FROM GFILIAL, PFUNC, PFUNCAO
WHERE PFUNC.CODFILIAL=GFILIAL.CODFILIAL AND
PFUNC.CODCOLIGADA=GFILIAL.CODCOLIGADA AND
PFUNC.CODFUNCAO=PFUNCAO.CODIGO AND
PFUNC.CODCOLIGADA=PFUNCAO.CODCOLIGADA
GROUP BY GFILIAL.CODFILIAL, PFUNCAO.NOME
HAVING PFUNCAO.NOME LIKE 'Suporte%'
13) Mostre o nome e a data de admisso de todos os funcionrios, que
possuem o cargo 'Gerncia' ou que trabalham na seo 'COM - Depto
Comercial'.
SELECT PFUNC.NOME, PFUNC.DATAADMISSAO, PCARGO.NOME
CARGO, PSECAO.DESCRICAO
FROM PFUNC, PCARGO, PSECAO, PFUNCAO
WHERE PCARGO.CODCOLIGADA=PFUNCAO.CODCOLIGADA AND
PCARGO.CODIGO=PFUNCAO.CARGO AND
PFUNCAO.CODCOLIGADA=PFUNC.CODCOLIGADA AND
PFUNCAO.CODIGO=PFUNC.CODFUNCAO AND
PFUNC.CODCOLIGADA=PSECAO.CODCOLIGADA AND
PFUNC.CODSECAO=PSECAO.CODIGO AND
(PCARGO.NOME LIKE 'Gerncia%' OR PSECAO.DESCRICAO LIKE
'COM%')

Treinamentos RM: caminho certo para o sucesso profissional


Reproduo Proibida

Consultas SQL base


CORPORE RM / RM Bis - Verso 6.0.2

ANOTAES

27

14) Mostre o total gasto em salrio pela empresa, por filial, alm da
mdia salarial de cada filial.
SELECT GFILIAL.CODFILIAL FILIAL, SUM(SALARIO) TOTAL,
AVG(SALARIO) MEDIA FROM GFILIAL, PFUNC
WHERE GFILIAL.CODCOLIGADA=PFUNC.CODCOLIGADA AND
GFILIAL.CODFILIAL=PFUNC.CODFILIAL
GROUP BY GFILIAL.CODFILIAL
15) Selecione o nome dos funcionrios que possuem o salrio, superior
a todos os funcionrios da seo 'COM - Depto Comercial'.
SELECT PFUNC.NOME, PFUNC.SALARIO FROM PFUNC
WHERE PFUNC.SALARIO>
(SELECT MAX(SALARIO) FROM PFUNC, PSECAO
WHERE PFUNC.CODCOLIGADA=PSECAO.CODCOLIGADA AND
PFUNC.CODSECAO=PSECAO.CODIGO AND
PSECAO.DESCRICAO LIKE 'COM%')
16) Encontre todos os nome dos funcionrios que comecem com a letra
'A', mas que no trabalham na seo 'DST - Suporte Tcnico'.
SELECT PFUNC.NOME, PSECAO.DESCRICAO FROM PFUNC,
PSECAO
WHERE PFUNC.CODCOLIGADA=PSECAO.CODCOLIGADA AND
PFUNC.CODSECAO=PSECAO.CODIGO AND
(PFUNC.NOME LIKE 'A%' AND PSECAO.DESCRICAO<>'DST%')
17) Encontre todos os funcionrios que possuem o cargo 'Gerncia' e,
que ganhem mais que os funcionrios da filial 'RM Sistemas - Filial
RJ'.
SELECT PFUNC.NOME, PFUNC.SALARIO, PCARGO.NOME CARGO
FROM PFUNC, PCARGO, PFUNCAO
WHERE PFUNC.SALARIO >
(SELECT MAX(PFUNC.SALARIO) FROM PFUNC, GFILIAL
WHERE GFILIAL.NOME='RM SISTEMAS - FILIAL RJ' AND
PFUNC.CODCOLIGADA=GFILIAL.CODCOLIGADA AND
PFUNC.CODFILIAL=GFILIAL.CODFILIAL) AND
PCARGO.CODCOLIGADA=PFUNCAO.CODCOLIGADA AND
PCARGO.CODIGO=PFUNCAO.CARGO AND
PFUNCAO.CODCOLIGADA=PFUNC.CODCOLIGADA AND
PFUNCAO.CODIGO=PFUNC.CODFUNCAO AND
PCARGO.NOME='Gerncia'
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 soma dos salrios da seo.
SELECT PSECAO.CODIGO, SUM(PFUNC.SALARIO) SOMA,
MAX(SALARIO) MAXIMO, AVG(PFUNC.SALARIO) MEDIA,
COUNT(CHAPA) FUNCIONARIOS
FROM PSECAO, PFUNC
WHERE PSECAO.CODCOLIGADA=PFUNC.CODCOLIGADA AND
PSECAO.CODIGO=PFUNC.CODSECAO
GROUP BY PSECAO.CODIGO
HAVING MAX(PFUNC.SALARIO)< (SELECT SUM(PFUNC.SALARIO)
FROM PFUNC)

Treinamentos RM: caminho certo para o sucesso profissional


Reproduo Proibida

28

Consultas SQL base


CORPORE RM / RM Bis - Verso 6.0.2

ANOTAES

19) Informe quais as sees possuem 2 ou mais funcionrios, em uma


determinada funo, em ordem decrescente de nome das sees.
SELECT PSECAO.DESCRICAO, PFUNCAO.NOME,
COUNT(PFUNC.CHAPA) QTD FROM PSECAO, PFUNC, PFUNCAO
WHERE PFUNC.CODCOLIGADA=PSECAO.CODCOLIGADA AND
PFUNC.CODSECAO=PSECAO.CODIGO AND
PFUNC.CODCOLIGADA=PFUNCAO.CODCOLIGADA AND
PFUNC.CODFUNCAO=PFUNCAO.CODIGO
GROUP BY PSECAO.DESCRICAO, PFUNCAO.NOME
HAVING COUNT(PFUNC.CHAPA)>=2
ORDER BY PSECAO.DESCRICAO DESC
20) Desafio: Selecione todas colunas de nomes/descries de origem
relacionados com as colunas (foreign keys) da tabela pfunc (descritos
no D.E.R).

Exemplos de Aplicao das Sentenas SQL.


Gerador
O gerador de relatrios ir acessar diretamente o banco de dados, lendo e
armazenando dados nas tabelas do sistema, conforme o relatrio exigir.
possvel trabalhar com sentenas SQL no Gerador de Relatrios, unindo
tambm a opo de passagem de parmetro.
Relatrio de Controle de Estoque Mnimo

Neste relatrio do Gerador, temos a utilizao de sentenas SQL para


retornar o cdigo do produto, descrio, estoque mnimo, estoque atual e
perodo de carncia.

Treinamentos RM: caminho certo para o sucesso profissional


Reproduo Proibida

Consultas SQL base


CORPORE RM / RM Bis - Verso 6.0.2

29

ANOTAES

Planilha
Planilha um arquivo que contm dados do usurio. Pode conter vrias pastas, para que o usurio possa organizar vrios tipos de relatrios num nico
arquivo.
A planilha do CORPORE RM possui uma estrutura bastante semelhante
estrutura das planilhas do MS Excel.
Pode transformar-se em ferramenta de grande utilidade, conforme necessidade. Possui ampla aplicabilidade em clculos, listagens e controles diversos que podero estar relacionados ou no com suas tarefas dirias no sistema.
Planilha Total de Vendas por Cidades

Esta planilha utiliza consultas SQL, para calcular o valor total das vendas
por cidade, ou por filial.

Treinamentos RM: caminho certo para o sucesso profissional


Reproduo Proibida

30

Consultas SQL base


CORPORE RM / RM Bis - Verso 6.0.2

ANOTAES

Na janela a seguir tem-se a consulta utilizada para retornar o valor para a


clula da planilha:

Passagem de Parmetros
Permite ao usurio informar o valor de uma condio, no momento da execuo da consulta, sem que se altere a consulta.
Exemplo:
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.
Observao:
Este recurso somente ser possvel atravs do aplicativo.

Treinamentos RM: caminho certo para o sucesso profissional


Reproduo Proibida

Consultas SQL base


CORPORE RM / RM Bis - Verso 6.0.2

ANOTAES

31

MDULO 4
OUTER JOINS
As consultas feitas anteriormente so realizados 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 formos relacionar a tabela de bancos e funcionrios, s viro os funcionrios que tenham
pelo menos um banco informado e os nomes dos bancos que tenham pelo
menos um funcionrio associado.
As 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, ao utilizarmos a clusula OUTER JOIN no exemplo acima, ela listar
os bancos e os funcionrios independente deles terem relao entre si. A
clusula LEFT, RIGHT e FULL determinar qual tabela ser listada na ntegra, 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 s condies especificadas 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 s condies especificadas 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.
Utilizamos consultas com OUTER JOINS quando queremos comparar todos
os dados de uma tabela, com o subconjunto dos dados relacionados na
outra tabela.
Exemplos:
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.
Nos SGBDs do ORACLE e SQL SERVER, temos outras maneiras
de especificar um OUTER JOIN na clusula WHERE, que poder
utilizar o (+) e o (*), respectivamente. Vejamos como ficariam o
exemplo 1 desta nova maneira:
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

Treinamentos RM: caminho certo para o sucesso profissional


Reproduo Proibida

32

Consultas SQL base


CORPORE RM / RM Bis - Verso 6.0.2

ANOTAES

Exerccios
Sentenas RM Labore:
1) Listar os nomes, as chapas e os nomes dos bancos de FGTS de todos
funcionrios da coligada 1, mesmo para aqueles que no tenham a
conta de FGTS cadastrada, mostrando o total por filial.
SELECT PFUNC.NOME, PFUNC.CHAPA, GBANCO.NOME,
PFUNC.CODFILIAL, SUM(SALARIO*0.08)
FROM PFUNC LEFT OUTER JOIN GBANCO ON
PFUNC.CODBANCOFGTS=GBANCO.NUMBANCO
WHERE PFUNC.CODCOLIGADA=1
GROUP BY PFUNC.NOME, PFUNC.CHAPA, GBANCO.NOME,
PFUNC.CODFILIAL
2) Listar os nomes dos funcionrios e os nomes de todos os sindicatos,
independente deles possurem funcionrios filiados ou no.
SELECT PFUNC.NOME, PSINDIC.NOME
FROM PFUNC RIGHT OUTER JOIN PSINDIC ON
PFUNC.CODSINDICATO=PSINDIC.CODIGO
3) Liste os nomes, as chapas, os salrios e a descrio da situao dos
funcionrios. Mesmo que exista uma situao que no esteja
associada a um funcionrio.
SELECT PFUNC.NOME, PFUNC.CHAPA, PFUNC.SALARIO,
PCODSITUACAO.DESCRICAO SITUACAO
FROM PCODSITUACAO LEFT OUTER JOIN PFUNC
ON PFUNC.CODSITUACAO=PCODSITUACAO.CODCLIENTE
4) Liste os nomes de todas as funes, e naquelas que possurem funcionrios, mostre o total de salrio gasto com cada uma, em ordem
salarial do maior para o menor.
SELECT PFUNC.NOME, PFUNCAO.NOME FUNCAO,
SUM(SALARIO)TOTSALARIO
FROM PFUNCAO LEFT OUTER JOIN PFUNC ON
PFUNC.CODFUNCAO=PFUNCAO.CODIGO
GROUP BY PFUNC.NOME, PFUNCAO.NOME
ORDER BY SUM(SALARIO) DESC

Treinamentos RM: caminho certo para o sucesso profissional


Reproduo Proibida

Consultas SQL base


CORPORE RM / RM Bis - Verso 6.0.2

ANOTAES

33

MDULO 5

Exerccios Gerais
Tericos
1) O que um SGDB?
2) Defina tabela.
3) Defina chave primria.
4) Defina chave estrangeira.
5) O que banco de dados cliente/servidor?
6) Qual das chaves podem ser repetidas, chave primria ou estrangeira? Porque?

Sentenas RM Fluxus
1) Criar uma sentena que retorne o saldo instantneo de uma conta
caixa, que dever ser fornecida pelo usurio no momento da
execuo da sentena. A sentena ainda dever listar os campos:
cdigo da conta caixa, descrio e saldo instantneo.
SELECT FCXA.CODCXA, FCXA.DESCRICAO,
FCXA.SALDOINSTANTANEO FROM FCXA
WHERE FCXA.CODCXA = :ContaCaixa
2) Selecionar o cdigo do cliente, o nome fantasia, a data de
vencimento do lanamento e valor original. Use parmetros para
solicitar a digitao da data de vencimento a ser listada.
SELECT FLAN.CODCFO, FCFO.NOMEFANTASIA,
FLAN.DATAVENCIMENTO, FLAN.VALORORIGINAL
FROM FLAN, FCFO
WHERE FLAN.CODCOLIGADA=FCFO.CODCOLIGADA AND
FLAN.CODCFO=FCFO.CODCFO AND
FLAN.DATAVENCIMENTO=:VENCIMENTO
3) Criar uma sentena que retorne o somatrio do saldo instantneo e
saldo no compensado, de uma determinada conta caixa. E liste
tambm o cdigo desta conta e sua descrio. Utilize parmetro para
solicitar a informao do cdigo da conta caixa a ser listada. D um
nome para a coluna que apresentar o somatrio.
SELECT FCXA.CODCXA, FCXA.DESCRICAO,
(FCXA.SALDOINSTANTANEO+FCXA.SALDONAOCOMPENSADO)
SALDO_PREVISTO
FROM FCXA
WHERE FCXA.CODCXA=:CODIGO
4) Relatrio de pagamentos a receber. Contendo: nmero do
documento, data de vencimento e valor original, dos lanamentos
com vencimento partir de 01/01/2005.
SELECT FLAN.NUMERODOCUMENTO DOCUMENTO,
FLAN.DATAVENCIMENTO, FLAN.VALORORIGINAL
TOTAL_A_RECEBER
FROM FLAN
WHERE CODCOLIGADA=1 AND PAGREC='1'AND
FLAN.DATAVENCIMENTO>'01/01/2005'

Treinamentos RM: caminho certo para o sucesso profissional


Reproduo Proibida

34

Consultas SQL base


CORPORE RM / RM Bis - Verso 6.0.2

ANOTAES

5) Listagens de cliente e fornecedor que retorne o campo cdigo, nome,


CNPJ, rua, nmero e telefone. Ordenado pelo cdigo do cliente e
fornecedor.
SELECT FCFO.CODCFO, FCFO.NOME, FCFO.CGCCFO, FCFO.RUA,
FCFO.NUMERO, FCFO.TELEFONE FROM FCFO
ORDER BY FCFO.CODCFO
6) Retornar o nome do cliente ou fornecedor, estado e telefone. Utilize o
recurso de parmetros para solicitar a digitao do estado a ser
listado.
SELECT FCFO.NOME, FCFO.CODETD, FCFO.TELEFONE
FROM FCFO
WHERE FCFO.CODETD =:ESTADO
7) Listar o nome do cliente, data de vencimento, histrico de
lanamento e valor original do lanamento. Ordenando pelo nome do
cliente, data de vencimento e valor.
Observao:
Somente dos lanamentos a receber que estejam baixados.
SELECT FCFO.NOME CLIENTE, FLAN.DATAVENCIMENTO,
FLAN.VALORORIGINAL, FLAN.HISTORICO FROM FCFO, FLAN
WHERE FLAN.CODCOLCFO = FCFO.CODCOLIGADA AND
FLAN.CODCFO = FCFO.CODCFO AND
FLAN.PAGREC=1 AND
FLAN.STATUSLAN=1 AND
FLAN.CODCOLIGADA=1 AND FLAN.CODFILIAL=1
ORDER BY FCFO.NOME, FLAN.DATAVENCIMENTO,
FLAN.VALORORIGINAL
8) Listar o nome do fornecedor, data de vencimento, histrico de
lanamento e valor original. Ordenando pelo nome do fornecedor,
data de vencimento e valor.
Observao:
Somente dos lanamentos a pagar que estejam baixados.
SELECT FCFO.NOME FORNECEDOR, FLAN.DATAVENCIMENTO,
FLAN.VALORORIGINAL, FLAN.HISTORICO
FROM FCFO, FLAN
WHERE FLAN.CODCOLCFO = FCFO.CODCOLIGADA AND
FLAN.CODCFO = FCFO.CODCFO AND
FLAN.PAGREC=2 AND
FLAN.STATUSLAN=1 AND
FLAN.CODCOLIGADA=1 AND FLAN.CODFILIAL=1
ORDER BY FCFO.NOME, FLAN.DATAVENCIMENTO,
FLAN.VALORORIGINAL

Treinamentos RM: caminho certo para o sucesso profissional


Reproduo Proibida

Consultas SQL base


CORPORE RM / RM Bis - Verso 6.0.2

ANOTAES

35

Sentenas RM Saldus
1) Selecionar o cdigo do lote, o nmero do documento, a conta de
crdito e dbito, a data do lanamento e data da liberao do lote.
Observao:
No devero ser listados os lanamentos do lote 0 (zero).
SELECT CLANCA.CODLOTE, CLANCA.DOCUMENTO,
CLANCA.CREDITO, CLANCA.DEBITO, CLANCA.DATA,
CLANCA.DATALIBERACAO
FROM CLANCA
WHERE CLANCA.CODLOTE<>0
ORDER BY CLANCA.CODLOTE
2) Retornar o cdigo da conta contbil, cdigo reduzido da conta
contbil e descrio. Somente das contas analticas, ordenadas pelo
cdigo Contbil.
SELECT CODCONTA, REDUZIDO, DESCRICAO
FROM CCONTA
WHERE ANALITICA='1'
ORDER BY CODCONTA
3) Retornar o cdigo da filial, nmero do documento, data do
lanamento, conta dbito, conta crdito e valor. Ordenando pela data
do lanamento.
SELECT CLANCA.CODFILIAL, CLANCA.DOCUMENTO,
CLANCA.DATA, CLANCA.DEBITO, CLANCA.CREDITO,
CLANCA.VALOR
FROM CLANCA
WHERE CLANCA.CODFILIAL=1
ORDER BY CLANCA.DATA
Sentenas RM Labore
1) Selecione o nome dos bancos.
SELECT NOME FROM GBANCO
2) Selecione o cdigo e a descrio de todas as situaes.
SELECT CODCLIENTE SITUACAO, DESCRICAO FROM
PCODSITUACAO
3) Selecione o nome, chapa e sexo dos dependentes dos funcionrios.
SELECT PFDEPEND.CHAPA FUNCIONARIO, PFDEPEND.NOME
DEPENDENTE, PFDEPEND.SEXO
FROM PFDEPEND
4) Escreva a sentena SQL que retorna os dados pedidos:
a) Listar o nome das funes que comeam com a letra A.
SELECT PFUNCAO.NOME
FROM PFUNCAO
WHERE PFUNCAO.NOME LIKE 'A%'

Treinamentos RM: caminho certo para o sucesso profissional


Reproduo Proibida

36

Consultas SQL base


CORPORE RM / RM Bis - Verso 6.0.2

ANOTAES

b) Listar o Nome do funcionrio que possui o menor salrio e o nome


do funcionrio que possui o maior salrio.
SELECT PFUNC.NOME, PFUNC.SALARIO FROM PFUNC
WHERE PFUNC.SALARIO=
(SELECT MAX(PFUNC.SALARIO)FROM PFUNC) UNION
SELECT PFUNC.NOME, PFUNC.SALARIO FROM PFUNC
WHERE PFUNC.SALARIO=(SELECT MIN(PFUNC.SALARIO)
FROM PFUNC)
c) Listar o nome e seo do funcionrio com o maior salrio.
SELECT PFUNC.NOME, PFUNC.CODSECAO, PFUNC.SALARIO
FROM PFUNC
WHERE SALARIO=(SELECT MAX(PFUNC.SALARIO) FROM
PFUNC)
d) Listar o nome e seo do funcionrio com o menor salrio.
SELECT PFUNC.NOME, PFUNC.CODSECAO, PFUNC.SALARIO
FROM PFUNC
WHERE SALARIO=(SELECT MIN(PFUNC.SALARIO) FROM
PFUNC)
e) Listar a filial 1 ou 2 que possui mdia salarial superior a R$ 500.
SELECT PFUNC.CODFILIAL, AVG(SALARIO) MEDIA FROM
PFUNC
WHERE PFUNC.CODFILIAL=1 OR PFUNC.CODFILIAL=2
GROUP BY PFUNC.CODFILIAL
HAVING AVG(PFUNC.SALARIO)>500
5) Marque V ou F nas questes abaixo:
a) SELECT * FROM PFUNC
( f )Esta consulta mostra somente as chaves primrias da tabela
PFUNC, exclusivamente pelo uso do (*) asterisco.
( v )Esta consulta traz todos os campos da tabela pfunc exclusivamente pelo uso do (*) asterisco.
( f )Esta consulta est completamente errada, no se pode usar
(*) asterisco sem a clusula HAVING.
b) SELECT CODSECAO
FROM PFUNC
WHERE CODCOLIGADA = 1 AND SALARIO > 100
GROUP BY CODSECAO
HAVING MAX(SALARIO) < 1000 AND MIN(SALARIO) >=200
ORDER BY MIN(SALARIO)
( f ) Esta consulta est errada, porque no se pode ter a Clusula
HAVING antes do ORDER BY.
( f ) Esta consulta est errada, porque no se pode fazer mais de
uma comparao na clusula HAVING.
( f ) Esta consulta est errada, pois no possvel utilizar na
mesma sentena a clusula WHERE e HAVING.
( v )Esta consulta est correta, o Having pede um GROUP BY, o
mesmo est trazendo o campo certo de agrupamento.

Treinamentos RM: caminho certo para o sucesso profissional


Reproduo Proibida

Consultas SQL base


CORPORE RM / RM Bis - Verso 6.0.2

ANOTAES

37

6) A consulta abaixo est correta? Se no, por favor, conserte-a no


espao abaixo e indique onde se encontram os erros.
SELECT AVG(SALARIO), NOME
FROM PFUNC, GFILIAL
GROUP BY NOME
HAVING AVG(SALARIO)>500
SELECT AVG(PFUNC.SALARIO), GFILIAL.NOME
FROM PFUNC, GFILIAL
WHERE GFILIAL.CODCOLIGADA=PFUNC.CODCOLIGADA AND
GFILIAL.CODFILIAL=PFUNC.CODFILIAL
GROUP BY GFILIAL.NOME
HAVING AVG(SALARIO)>500
7) A consulta abaixo est correta? Se no, por favor, conserte-a no
espao abaixo e indique onde se encontram 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
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
ORDER BY F.NOME
8) Selecione os cdigos dos cargos e a chapa dos funcionrios da coligada RM Sistemas.
SELECT PCARGO.CODIGO CARGO, PFUNC.CHAPA FUNCIONARIO
FROM PCARGO, PFUNC, PFUNCAO
WHERE PCARGO.CODCOLIGADA=PFUNCAO.CODCOLIGADA AND
PCARGO.CODIGO=PFUNCAO.CARGO AND
PFUNCAO.CODCOLIGADA=PFUNC.CODCOLIGADA AND
PFUNCAO.CODIGO=PFUNC.CODFUNCAO
9) Quais so as funcionrias que tm como descrio da situao
'Licena Mater'.
SELECT PFUNC.NOME, PCODSITUACAO.DESCRICAO FROM
PFUNC, PCODSITUACAO
WHERE PFUNC.CODSITUACAO=PCODSITUACAO.CODCLIENTE
AND
PCODSITUACAO.DESCRICAO LIKE 'Licena Mater%'
10) Quais so os nomes das funes da seo 'COM - Depto Comercial'?
SELECT PFUNCAO.NOME, PSECAO.DESCRICAO FROM PFUNCAO,
PSECAO, PFUNC
WHERE PFUNCAO.CODCOLIGADA=PFUNC.CODCOLIGADA AND
PFUNCAO.CODIGO=PFUNC.CODFUNCAO AND
PFUNC.CODCOLIGADA=PSECAO.CODCOLIGADA AND
PFUNC.CODSECAO=PSECAO.CODIGO AND
PSECAO.DESCRICAO LIKE 'COM%'
11) Selecione todos os nomes dos funcionrios, exceto os que tm o
nome comeando com a letra A.
SELECT PFUNC.NOME FROM PFUNC
WHERE PFUNC.NOME NOT LIKE 'A%'

Treinamentos RM: caminho certo para o sucesso profissional


Reproduo Proibida

38

Consultas SQL base


CORPORE RM / RM Bis - Verso 6.0.2

ANOTAES

Sentenas RM Nucleus
1) Selecionar os clientes que no possuem movimentao, a partir de
uma data fornecida pelo usurio. Utilize parmetros para solicitar a
digitao das datas. Os campos a serem listados so: Cdigo do
cliente, nome fantasia do cliente, rua, nmero, complemento, bairro,
cidade, cep e telefone.
SELECT DISTINCT CODCFO, NOME CLIENTE, RUA, NUMERO,
COMPLEMENTO, BAIRRO, CIDADE, CEP, TELEFONE FROM FCFO
(nolock)
WHERE CODCFO NOT IN
(SELECT CODCFO FROM TMOV WHERE CODCFO IS NOT NULL
AND
DATAMOVIMENTO>=:DATAINI_D AND DATAMOVIMENTO
<=:DATAFIM_D)
2) Criar uma sentena para retornar a quantidade de produtos por local
de estoque. Lembrando que o local de estoque est associado a uma
filial. Apresente os resultados por ordem de filial.
SELECT F.NOMEFANTASIA FILIAL, P.CODIGOPRD CODIGO,
P.NOMEFANTASIA PRODUTO, SUM(L.SALDOFISICO2 )
SALDO_FISICO
FROM TPRDLOC L, TPRD P, GFILIAL F
WHERE L.CODCOLIGADA=1 AND
L.CODCOLIGADA=P.CODCOLIGADA AND L.IDPRD=P.IDPRD AND
F.CODCOLIGADA=L.CODCOLIGADA AND
F.CODFILIAL=L.CODFILIAL
GROUP BY F.NOMEFANTASIA, P.CODIGOPRD, P.NOMEFANTASIA
ORDER BY F.NOMEFANTASIA
3) Criar uma sentena que retorne os dados do Contrato do cliente
C00001. Os dados a serem listados so: Cdigo do contrato, nome
fantasia do cliente, valor do contrato, data de incio e data de fim de
contrato. Utilize o recurso de alias (apelido) para nomear os campos
(colunas) a serem exibidos.
SELECT CODIGOCONTRATO CONTRATO, CF.NOMEFANTASIA
CLIENTE,
VALORCONTRATO VALOR, T.DESCRICAO TIPO, DATAINICIO
INICIO, DATAFIM FIM
FROM TCNT C, TTCN T, FCFO CF WHERE C.CODCOLIGADA=1
AND
C.CODCOLIGADA=T.CODCOLIGADA AND
T.CODCOLIGADA=CF.CODCOLIGADA AND
C.CODTCN=T.CODTCN AND C.CODCFO=CF.CODCFO
AND CF.CODCFO='C00001'
ORDER BY CODIGOCONTRATO
4) Selecione os itens do movimento, a partir de uma data fornecida pelo
usurio, apresentando os seguintes dados: cdigo do produto, nome
fantasia do produto, quantidade, unidade, preo unitrio e data de
emisso do movimento. Utilize o recurso de parmetros, para
solicitar a digitao da data de emisso dos itens do movimento.
SELECT P.CODIGOPRD CODIGO, P.NOMEFANTASIA PRODUTO,
I.QUANTIDADE, I.CODUND UN, I.PRECOUNITARIO PRECO,
I.DATAEMISSAO
FROM TITMMOV I, TPRD P WHERE I.CODCOLIGADA=1 AND
I.CODCOLIGADA=P.CODCOLIGADA AND I.IDPRD=P.IDPRD AND
I.DATAEMISSAO>= :DATA_INICIAL AND I.DATAEMISSAO
<= :DATA_FINAL

Treinamentos RM: caminho certo para o sucesso profissional


Reproduo Proibida

Consultas SQL base


CORPORE RM / RM Bis - Verso 6.0.2

ANOTAES

39

MDULO 6
Conceito

BI (Business Intelligence)
Ferramenta de uso gerencial para extrao de informaes de um
nico banco de dados.
Sua criao ser realizada no RM BIS, utilizando sentenas SQL,
e a sua consulta pode ser em todos os mdulos do CORPORE RM
(recursos humanos, financeiro, contbil, produo, etc).
A sua visualizao ser possvel atravs dos cubos de decises
(OLAP - Online Analytical Processing - Processamento Analtico
Online).
O sistema tem recursos visuais para anlise de informaes
atravs de grficos, planilhas e relatrios analticos.

Iniciando o RM BIS
Clique no boto "Iniciar" da barra de tarefas do Windows, e em seguida
aponte para:
Programas;
RM Sistemas;
RM Bis.
Selecione

clicando com o mouse.

Para acessarmos o sistema utilizaremos o usurio mestre, que supervisor,


portanto tem maiores privilgios.
Usurio: mestre
Senha: rm sistemas

Treinamentos RM: caminho certo para o sucesso profissional


Reproduo Proibida

40

Consultas SQL base


CORPORE RM / RM Bis - Verso 6.0.2

ANOTAES

Janela de Viso do Aplicativo

Menu Cadastros
Neste menu constam todas as tabelas globais, comuns aos aplicativos do
CORPORE RM, e o cadastro de Tipos de Cubo que exclusivo do RM BIS.

Treinamentos RM: caminho certo para o sucesso profissional


Reproduo Proibida

Consultas SQL base


CORPORE RM / RM Bis - Verso 6.0.2

ANOTAES

41

Cadastros / Tipos de Cubos


Para armazenamento dos cubos criados e direcion-los ao sistema correspondente. Existem alguns tipos de cubos que so previamente
cadastrados pela RM Sistemas, alm destes, o usurio poder cadastrar
novos tipos, a fim de obter uma melhor classificao para os mesmos.

Exemplo:
Prefixo: RH
Descrio: Cubos de Recursos Humanos.
O prefixo identificar os dados que constam no cubo.
Observao:
Estes tipos criados estaro visveis no menu RELATRIOS /
CUBOS (EIS). Sendo que os tipos criados pelo usurio estaro
disponveis no submenu: RELATRIOS / CUBOS (EIS) / CUBOS
DO USURIO.

Relatrios / Cubos (EIS)


Cubos (EIS) - Entrerprise Information System - Sistema de informao
empresarial.
Neste menu, sero visualizados todos os cubos criados e ser permitido
criar novos cubos. Utilizando para isto, o "Assistente de Criao de Cubos".

Os itens disponveis neste menu tambm esto disponveis atravs da barra


de ferramentas.

Treinamentos RM: caminho certo para o sucesso profissional


Reproduo Proibida

42

Consultas SQL base


CORPORE RM / RM Bis - Verso 6.0.2

Observaes:
Cubos do usurio
O usurio poder criar um tipo de cubo personalizado.
Cubos customizados
Criados pela RM Sistema, atravs de customizao, para a
atender particularidades de uma determinada empresa.

ANOTAES

Criando Cubos
Roteiro:
1) Deve-se criar o tipo de cubo em: CADASTROS / TIPOS DE CUBO;
Como exemplo, criaremos o tipo Cubos Treinamentos.
Observao:
Aps cadastrar o tipo de cubo ser necessrio definir permisso
de acesso ao menu, no cadastro de segurana, pasta perfis. E
efetuar logout/login.
2) Depois de criado, o cubo poder ser visualizado no menu: RELATRIOS /
CUBOS (EIS) / CUBOS DO USURIO.

Treinamentos RM: caminho certo para o sucesso profissional


Reproduo Proibida

Consultas SQL base


CORPORE RM / RM Bis - Verso 6.0.2

ANOTAES

43

3) Acessar o Assistente de Criao de Cubos em: RELATRIOS / CUBOS


(EIS) / ASSISTENTE DE CRIAO DE CUBOS.
Ser apresentada a janela do assistente. Clique em Avanar.

4) No editor de sentenas SQL, digite a sentena desejada ou importe uma


sentena j criada anteriormente. No nosso exemplo utilizaremos uma
sentena simples digitada diretamente nesta janela. Clique no boto
Avanar.

Treinamentos RM: caminho certo para o sucesso profissional


Reproduo Proibida

44

Consultas SQL base


CORPORE RM / RM Bis - Verso 6.0.2

ANOTAES

5) Depois de selecionados os campos, ser necessrio determinar onde os


mesmos sero visualizados no cubo. Selecione o campo e o arraste para:
rea de consulta, linhas de consulta, colunas de consulta ou campos de
dados. Clique em Avanar.

Aps configurao, o cubo ser visualizado no relatrio da seguinte forma:

rea de consulta

Campos de dados

Linhas de consulta

Treinamentos RM: caminho certo para o sucesso profissional


Reproduo Proibida

Consultas SQL base


CORPORE RM / RM Bis - Verso 6.0.2

ANOTAES

45

6) O prximo passo configurar os campos do Cubo, conforme ilustra a


figura a seguir:

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.
Texto
Informe uma descrio para o campo selecionado.
Totalizar Valores
Marque esta opo para que esse campo seja totalizado.
Posio
Informa a posio do campo que foi especificada na etapa 2 - Organizao
das Dimenses.
Mscara
Selecione uma mscara para o campo selecionado. S estar disponvel
para "Campos de Dados", isto , para campos que foram organizados na
rea de dados.
Ser possvel selecionar os seguintes tipos de mscaras:
Inteiros (#.##0)

Visualiza o valor sem


separador de milhar;

casas

decimais

com

Percentual (0.00%)

Visualiza o percentual correspondente ao valor total.

Reais (#.##0,00)

Visualiza o valor com N casas decimais e separador


de milhar;

N casas decimais

Permite determinar a quantidade de casas decimais.

Observao:
A determinao do nmero de casas decimais s ter efeito
sobre campos da base de dados que suportarem a mesma
quantidade de casas decimais escolhida. Com isso se o usurio
escolher uma quantidade de casas decimais acima da
quantidade suportada pelo campo, esta ser preenchida com o
algarismo zero.

Treinamentos RM: caminho certo para o sucesso profissional


Reproduo Proibida

46

Consultas SQL base


CORPORE RM / RM Bis - Verso 6.0.2

ANOTAES

Exemplo:
O usurio deseja montar um cubo para visualizar o nome e o
salrio com trs casas decimais para cada funcionrio da
empresa. O campo salrio na base de dados foi criado com duas
casas decimais. Sero exibidos dados com trs casas decimais,
porm a ltima casa ser preenchida com zero.
Para testar, crie um cubo com a sentena, abaixo:
SELECT PFUNC.CHAPA, PFUNC.CODPESSOA, PFUNC.SALARIO
FROM PFUNC
Ordenar de acordo com o campo
Define que a ordenao ser baseada nos valores do campo escolhido.
Ascendente
Permite selecionar se a ordenao do campo ser feita de forma ascendente
ou descendente. Se esta opo estiver desmarcada, a ordenao do campo
ser descendente.
Observao:
Ao preencher o campo "Ordenar de acordo com o campo" para
diversos campos, principalmente ordenando de forma
ascendente e outros de forma descendente, a ordenao ser
feita respeitando-se a hierarquia das dimenses.
7) Nesta etapa ser permitido definir o nome do cubo, o tipo o qual esta
relacionado e se o mesmo ser gravado no prprio banco de dados ou em
arquivo.
No caso da gravao em arquivo o caminho default (padro)
C:\CORPORERM\CUBOS. Mas, ser possvel definir um outro caminho
caso seja necessrio. Aps as definies necessrias clique no boto
"Avanar".

Treinamentos RM: caminho certo para o sucesso profissional


Reproduo Proibida

Consultas SQL base


CORPORE RM / RM Bis - Verso 6.0.2

ANOTAES

47

8) Ser apresentada a janela de finalizao do assistente. Clique no boto


Finalizar.

O cubo criado estar disponvel para consulta em: RELATRIOS / CUBOS


(EIS) / CUBOS DO USURIO / CUBOS DE TREINAMENTOS.
Janela de Viso de Cubos

cones da Barra de Ferramentas:


Abrir Cubo;
Permite abrir um cubo j existente.
Excluir Cubo;
Alterar Informaes do Cubo;
Tais como: senha, STORED PROCEDURE, tipo de cubo, sistema, etc.
Alterar Informaes do Cubo (Assistente de Edio de Cubo);
Permite acessar o assistente para alterar algumas informaes do
cubo, tais como: sentena SQL, reas e linhas de consulta, etc.
Associar Variveis;
Permite definir as variveis que podero ser utilizadas
determinados cubos, podendo variar de usurio para usurio.

em

Criar Cpia do Cubo;


Importar Cubo.
Os demais cones so semelhantes aos demais sistemas do CORPORE RM.

Treinamentos RM: caminho certo para o sucesso profissional


Reproduo Proibida

48

Consultas SQL base


CORPORE RM / RM Bis - Verso 6.0.2

ANOTAES

Editando Cubos
Pasta 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 em uma empresa,
onde o usurio poder dimensionar o cubo da maneira mais adequada sua
consulta.

cones do Cubo
Atualizar Informaes da base de dados;
Configurar Impresso;
Ser apresentada uma janela onde ser possvel alterar a fonte do relatrio
e o ttulo do cabealho.

Visualizar / Imprimir Cubo;


Exportar para o MS - Excel;

Treinamentos RM: caminho certo para o sucesso profissional


Reproduo Proibida

Consultas SQL base


CORPORE RM / RM Bis - Verso 6.0.2

49

Exportar para Arquivo;


Para exportar o cubo para o formato CSV (Valores Separados por Vrgula),
informe um nome para o arquivo e acrescente a extenso .CSV.

ANOTAES

Observao:
Arquivos com a extenso.csv podem ser importados em
planilhas eletrnicas ou gerenciadores de bancos de dados.
Exportar Cubo;
Permite exportar o cubo para o formato off-line (.cub). Informe um
nome para o arquivo e acrescente a extenso .CUB.
Visualizar Sentena SQL;
Observao:
A sentena SQL no poder ser alterada, somente visualizada.
Visualizar Filtros sobre as Dimenses;

Ordenao das Dimenses.

Linhas de Consulta
rea de Dimenses

rea de Registros

Colunas de Consulta

rea de Dados

reas de Diviso do Cubo


rea de Dimenses
Regio que contm as dimenses (campos ou colunas da tabela) 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 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.

Treinamentos RM: caminho certo para o sucesso profissional


Reproduo Proibida

50

Consultas SQL base


CORPORE RM / RM Bis - Verso 6.0.2

ANOTAES

rea de Registros
Apresenta os dados obtidos atravs da consulta ao Banco de Dados
do CORPORE RM, organizados de acordo com as Linhas de
Consulta.
rea de Dados
Apresenta os dados obtidos atravs da consulta ao Banco de Dados
do CORPORE RM, organizados de acordo com a rea de Registros e
com as Colunas de Consulta.
Observao:
Uma dimenso pode conter um ou mais campos da base de
dados CORPORE RM, ou pode ser parte de um desses campos.
Os campos foram distribudos de acordo com a Organizao da dimenses.

Treinamentos RM: caminho certo para o sucesso profissional


Reproduo Proibida

Consultas SQL base


CORPORE RM / RM Bis - Verso 6.0.2

ANOTAES

51

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:
Baseado na figura anterior, caso arraste a dimenso Centro de
Custos para a Linha 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 Custo, de cada filial pertencente coligada RM Sistemas.

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 se
.
apresentar conforme figura ao lado.
Mantendo o boto esquerdo do mouse pressionado, arraste a
....
...dimenso para a posio desejada na Linha/Coluna da rea de
...............Consulta.
Aparecer o indicador (veja a figura ao lado), informando a posio na qual a dimenso ser acrescentada.

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.

Treinamentos RM: caminho certo para o sucesso profissional


Reproduo Proibida

52

Consultas SQL base


CORPORE RM / RM Bis - Verso 6.0.2

ANOTAES

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).

Para Selecionar/No-selecionar Registros de uma Dimenso


Clique na Seta para Baixo, ao lado direito do nome da dimenso,
uma lista de registros pertencentes a essa dimenso ser
apresentada.
Clique no Quadrado do registro que voc deseja selecionar ou
No-Selecionar.
Clique novamente na Seta para Baixo para confirmar a seleo.

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

Botes disponveis
Salvar Grfico em Bitmap;

Imprimir Grfico;
Configurar Grfico.
Este cone permite definir o tipo de
grfico: barras, pizza, linhas, rea, etc.
Bem como a dimenso: 3D ou 2D, o
local onde ser exibida a legenda e a
digitao do ttulo do grfico.

Treinamentos RM: caminho certo para o sucesso profissional


Reproduo Proibida

Consultas SQL base


CORPORE RM / RM Bis - Verso 6.0.2

ANOTAES

53

Para aumentar/diminuir a escala do grfico, selecione as faixas que


definiro o grfico.
Exemplo:
Para aumentar a escala de uma faixa, selecione a faixa. Todas as
outras faixas desaparecero 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.

Exerccio
Criar um cubo para discriminar as despesas com Treinamentos.
Utilize a seguinte sentena:
SELECT
GCOLIGADA.NOME AS COLIGADA,
GFILIAL.NOMEFANTASIA AS FILIAL,
PSECAO.DESCRICAO AS SECAO,
DATEPART(MONTH,DATAINIPER) AS MES,
DATEPART(YEAR,DATAINIPER) AS ANO,
NOMEDESPESA, VALOR
FROM
PFUNC (NOLOCK), VDESPESA (NOLOCK), VDESPESAS (NOLOCK),
GCOLIGADA (NOLOCK), GFILIAL (NOLOCK), PSECAO (NOLOCK)
WHERE
(GCOLIGADA.CODCOLIGADA = PFUNC.CODCOLIGADA) AND
(GFILIAL.CODCOLIGADA = PFUNC.CODCOLIGADA) AND
(PSECAO.CODCOLIGADA = GFILIAL.CODCOLIGADA) AND
(PSECAO.CODIGO = PFUNC.CODSECAO) AND
(PFUNC.CODSECAO = PSECAO.CODIGO) AND
(GFILIAL.CODFILIAL = PSECAO.CODFILIAL) AND
(PFUNC.CODPESSOA = VDESPESA.CODPESSOA) AND
(VDESPESA.CODCOLIGADA = VDESPESAS.CODCOLIGADA) AND
(VDESPESA.CODDESPESA = VDESPESAS.CODDESPESA)
Defina Para a rea de Consulta os campos: Coligada, ano, seo
e filial.
Para a Linha de Consulta: Ms e Nomedespesa
Para Campos de Dados: Valor.

Treinamentos RM: caminho certo para o sucesso profissional


Reproduo Proibida

54

Consultas SQL base


CORPORE RM / RM Bis - Verso 6.0.2

ANEX O
CORPORE RM R ecursos Humanos
RM Labore (Folha de Pagamento)
Objetivo:
Capacitao dos profissionais ligados s atividades do Departamento Pessoal (movimentao
da folha de pagamento)
Contedo:
Parmetros de Clculo do Sistema
Movimentao Mensal (Grupo de Eventos, Adiantamento Salarial, Processamento da Folha Mensal,
Vale Transporte, Descontos e Adiantamentos, Entradas de Dados, Liberao de Competncia).
Diferena Salarial, Reclculo, Bloqueio do Reclculo e Licena Maternidade.
Alteraes Cadastrais, Alterao Global de Salrios, Frias e Escala de Frias.
Importao de Dados, Resciso, Cancelando uma Resciso, Resciso Complementar.
Emprstimo, Penso Alimentcia e 13 Salrio.
Parmetros do 13 Salrio. (Lanamento do 13 Salrio)
Parmetros de Resciso (Clculo da Resciso, Resciso Coletiva, e Resciso Complementar)
Parmetros de Frias (Clculo de Frias, Clculo da Diferena de Frias, e Frias Coletivas).
Emisso de Relatrios Oficiais (SEFIP, Gerao do FGTS, Guias de INSS, Gerao de CAGED),
Gerao do Histrico de Provises, Visualizao do Histrico de Provises.

RM Vitae (Gesto Recursos Humanos)


Objetivo:
Capacitao dos profissionais ligados s atividades do Departamento de Recursos Humanos
nos processos do sistema.
Contedo:
Montagem do Currculo;
Cadastro de Pessoas;
Definio de Caractersticas Pessoais (Habilidades);
Cadastros de Cargos e Funes;
Plano de Carreira e Organograma;
Tabelas Salariais;
Recrutamento e Seleo de Pessoal;
Controle de Treinamentos;
Avaliao de Desempenho;
PPRA - Programa de Proteo a Riscos Ambientais;
EPIs - Equipamento de Proteo Individual;
Acidente de Trabalho;
Proteo Contra Incndio;
PCMSO - Programa de Controle Mdico e Segurana Ocupacional.

RM Vitae (Gesto Recursos Humanos)


Objetivo:
Capacitao dos profissionais ligados s atividades do Departamento de Recursos Humanos
nos processos do sistema.
Contedo:
Montagem do Currculo;
Cadastro de Pessoas;
Definio de Caractersticas Pessoais (Habilidades);
Cadastros de Cargos e Funes;
Plano de Carreira e Organograma;
Tabelas Salariais;
Recrutamento e Seleo de Pessoal;
Controle de Treinamentos;
Avaliao de Desempenho;
PPRA - Programa de Proteo a Riscos Ambientais;
EPIs - Equipamento de Proteo Individual;
Acidente de Trabalho;
Proteo Contra Incndio;
PCMSO - Programa de Controle Mdico e Segurana Ocupacional.

Treinamentos RM: caminho certo para o sucesso profissional


Reproduo Proibida

Consultas SQL base


CORPORE RM / RM Bis - Verso 6.0.2

55

CORPORE RM R ecursos Humanos


RM Chronus (Automao de Ponto)
Objetivo:
Proporcionar rapidez e segurana na apurao do ponto das empresas.
Contedo:
Cadastro de calendrios, feriados e horrios.
Realiza os clculos referentes s horas dos funcionrios
Configurao do layout de importao das batidas e Funes de relgio de Ponto.
Parametrizao (horrio, pagamento de horas trabalhadas, adicional noturno, nona hora, horas
extras, controle de carncia de atraso, extra autorizado, feriados, compensao de atrasos, faltas e
Banco de Horas).
Tabela de horrios com cadastramento de jornadas, intervalos de refeio e descanso.
Tratamento de horrios rgidos com ou sem tolerncias, horrios flexveis e semi-flexveis, com
compensao de faltas e atrasos.
Histrico dos funcionrios, como ficha financeira, banco de horas e ficha de abonos.
Controle Visitantes, Crachs Provisrios e Refeitrio.

Contabilizao do RM Labore (RM Labore x RM Saldus)


Objetivo:
Capacitao do usurio nas integraes da Folha de pagamento com a contabilidade.
Contedo:
Paramtros do RM Saldus
Histrico Padro
Plano de Contas Contbeis
Plano de Contas Gerenciais
Encargos Contbeis
Agrupamento de Contas Contbeis
Agrupamento de Contas Gerenciais
Histrico Provises
Histrico Encargos
Lanamentos Contbeis
Contabilizao por Funcionrio
Contabilizao por Seo
Contabilizao por Centro de Custo

CORPORE RM Administrativo
RM Nucleus (Faturamento, Estoque e Compras)
Objetivo:
Capacitao do usurio nas movimentaes de Compras, Estoque e Faturamento.
Contedo:
Processo Completo de Compras / Entradas (Nota Fiscal de Entrada, Etc.)
Processo Completo de Vendas / Sadas (Pedido do Cliente, Nota Fiscal de Sada)
Processo Completo de Movimentao de Estoque (Transferncias de Estoque, Inventrio, Baixa para
uso e Consumo e Outros).
Reajuste de Preos
Grade Numerada

RM Saldus (Contabilidade Gerencial)


Objetivo:
Capacitao do usurio nas movimentaes Contbeis.
Contedo:
Lanamentos (Incluso/Alterao e Manuteno de Lanamentos)
Verificao de Dbito x Crdito
Retrospectiva de Saldos Centro de Custos/Contbil - Relatrios
Manuteno de Lotes
Lanamentos Automticos
Gerao de Lanamentos Automticos
Oramentos (Manuteno de Oramentos e Zerar Oramentos).
Acompanhamento Oramentrio - Relatrio
Transferncias de Grupos Contbeis
Instruo Normativa
Liberao do Perodo
Relatrios (Listagens de Lanamentos, Plano de Contas, Balancete, Razo, Livro Dirio, etc).

Treinamentos RM: caminho certo para o sucesso profissional


Reproduo Proibida

56

Consultas SQL base


CORPORE RM / RM Bis - Verso 6.0.2

CORPORE RM Administrativo
RM Liber (Escriturao Fiscal)
Objetivo:
Capacitao do usurio nas movimentaes Fiscais.
Contedo:
Lanamentos
Perodos de Apurao
Manuteno de Lanamentos de Entradas, Sadas e Outros Dbitos/Crditos
Lanamentos em Lotes
Rotinas Legais (Convnio ICMS, Apurao ICMS/ISS, Declarao de IPI, IRRF, etc).
Outros Tributos(PIS, Cofins, etc).
Utilitrios (Lanamentos Inversos, Encerrar Perodos Apurao, Duplica Natureza, etc.).
Relatrios Fiscais
Emisso de Livros Fiscais

RM Fluxus (Controle Financeiro)


Objetivo:
Capacitao do usurio nas movimentaes do contas a pagar, contas a receber, cobrana e
tesouraria.
Contedo:
Manuteno de Lanamentos (Incluso, Alterao, Excluso, Cancelamento, Baixa, Alterao
Globais, etc).
Fluxo de Caixa
Faturar Lanamentos
Cheques
Extrato de Caixa
Aplicao Financeira, Adiantamento, Oramentos, Nota de Crdito e Imposto de Renda.

RM Bonum (Controle Patrimonial)


Objetivo:
Capacitao do usurio no Controle e Movimentaes Patrimoniais.
Contedo:
Consistncia de Bens
Cadastro de Ocorrncias e Ocorrncias Automticas.
Movimentaes (Clculo Nova Tabela de ndice, Reclculo para 2 Moeda, Reclculo Geral e
Alterao de Campos dos Bens, etc).
Relatrios (Razo Auxiliar, Contabilizao, Instruo Normativa, etc).

Integraes CORPORE RM Administrativo

( RM Nucleus x RM Fluxus / RM Nucleus x RM Saldus / RM Fluxus x RM Saldus )

Objetivo:
Capacitao do usurio nas integraes dos Departamentos Administrativo, Financeiro e
Contbil.
Contedo:
Parametrizao dos Tipos de Movimentos para integrao Financeira e Contbil no RM Nucleus
Parametrizao da integrao contbil no RM Fluxus
Cadastro de Eventos Contbeis
Cadastro dos defaults contbeis

Treinamentos RM: caminho certo para o sucesso profissional


Reproduo Proibida

Consultas SQL base


CORPORE RM / RM Bis - Verso 6.0.2

57

CORPORE RM P rojetos
RM Solum (Gerenciamento de Obras e Projetos)
Objetivo:
Capacitao do Usurio para utilizao de diversos setores da Empresa na elaborao de
Oramentos, Planejamento e Acompanhamento de Projetos.
Contedo:
Elaborao de um Oramento Completo
Cotao de preos dos insumos na unidade orada ou na unidade de compra.
Clculo do Custo Horrio de Equipamentos e de Mo-de-obra.
Cronograma Previsto x Real x Medido.
Cronograma Desembolso
PERT - (Tcnica de Avaliao e Reviso de Programas)
Integrao com o MS Project/Excel
Apropriao de Insumos/Composio
Medio (Reajuste, Realinhamento, Retenes/Adiantamentos) de Contratos.
Aditivos de Contratos
Medio Via PALM
Concorrncia Eletrnica

CORPORE RM Educacional
RM Classis (Gesto Educacional)
Objetivo:
Capacitao dos profissionais ligados s atividades de Secetaria e Tesouraria da instituio de
ensino.
Contedo:
Cadastros de Alunos e Professores;
Matrcula, Rematricula e Enturmao;
Cadastro de Histrico;
SOE;
Cadastro de Notas por aluno, por prova, por etapa etc.
Clculo de mdias;
Controle de materiais escolares;
Plano de Pagamento das mensalidades;
Lanamentos financeiros;
Cobrana;
Impresso dos principais relatrios.

CORPORE RM P roduo
RM Factor (Planejamento e Controle da Produo)
Objetivo:
Auxiliar a montagem da linha de produo, da engenharia do produto, o seqenciamento das
etapas e a carga da fbrica, contemplando o PCP (Planejamento e o Controle da Produo).
Contedo:
Otimizao do uso de recursos fsicos e financeiros - produo a custo mnimo, com amplo controle
de processos e gerenciamento minucioso de rotinas administrativas
Avaliao de desempenho e correo de desvios
Dimensionamento da interferncia de variveis, possibilitando a previso de resultados em diferentes condies ambientais, humanas e estruturais atravs de caminho crtico
Fornecimento de informaes detalhadas, com gil atendimento ao cliente, fcil
Cumprimento de prazos e garantia de qualidade dos servios prestados
Controle de manuteno preventiva e corretiva
Acompanhamento de ordens de servio
Integrao com Faturamento e Recursos Humanos
Acompanhamento de ndices de produtividade / servios
Total controle da inadimplncia

CORPORE RM Manuteno
RM Officina (Manuteno e Assistncia Tcnica)
Objetivo:
Capacitao do usurio nas movimentaes e anlises dos processos de assistncia tcnica e
manutenes em geral.

Contedo:
Operaes (Manuteno/Movimentos, Agendamento de Servios, Status da Oficina, Contratos de
Manuteno, Acompanhamento de Processos, Propostas, Anlise de Movimentos, Problemas,
Atendimento, etc)
Mo-de-Obra (Cronograma Pessoal, Desempenho Individual, Desempenho Mensal, Acompanhamento
na Oficina e Ocupao de Mo-de-Obra, etc) anlises atravs de grficos e relatrios.
Treinamentos RM: caminho certo para o sucesso profissional
Reproduo Proibida

58

Consultas SQL base


CORPORE RM / RM Bis - Verso 6.0.2

Geradores de R elatrios e Consultas Base de Dados


Gerador de Relatrios do CORPORE RM
( nfase no aplicativo RM Labore )

Objetivo:
Capacitao dos profissionais ligados s atividades do Departamento Pessoal e Informtica na
criao de relatrios personalizados.
Contedo:
Conceitos de relacionamento de tabelas;
Diagrama de relacionamentos;
Utilizao de Sentenas Simples de SQL;
Segurana dos relatrios - Permisso de Acesso;
Montagem de exemplos de relatrios, onde ser possvel utilizar vrios recursos do Gerador;
Exerccios prticos.

Consultas SQL Base CORPORE RM + RM Bis


Objetivo:
Capacitao do usurio na elaborao de Consultas SQL e na elaborao dos cubos do RM
Bis.
Contedo:

Bancos de Dados e SGBDS

Tabelas
Chaves primrias
Chaves Estrangeiras
Sistemas Gerenciadores de Bancos de Dados Utilizados Atualmente na RM (Relacionais e Tecnologia
Cliente/Servidor)
Bancos de Dados Cliente/Servidor
Distribuio dos Softwares na Rede (CORPORE RM )
Nomeclatura das Tabelas do CORPORE RM
Tipos de Dados
Relacionamento Entre as Tabelas do CORPORE RM
CORPORE RM (Diagrama Parcial)

Manipulao dos Bancos de Dados - Padro SQL (Structured Query Language).


Famlias de Comando SQL

O Comando Select
Clusula SELECT
Funes de Agrupamento ou Embutidas
Clusula WHERE
Exemplos de consulta com os Operadores de Comparao
Clusula GROUP BY
Clusula ORDER BY
Clusula HAVING
Clusula UNION
Alias de Coluna (Apelidos)
Passagem de Parmetros

RM Bis

Parmentros
Criao de Cubos
Manuteno de Cubos
Anlise dos Cubos

Gerador de Relatrios do CORPORE RM

( nfase nos aplicativos RM Nucleus e RM Fluxus )

Objetivo:
Capacitao do usurio na criao e ajustes de Relatrios dos Aplicativos RM Nucleus e RM
Fluxus.
Contedo:
Formatao de Relatrios
Definio de Grupos Layout e Campos de relatrios.
Noes Bsicas de Anlise (Relacionamento, Tabelas, Chaves Primrias, Chaves Estrangeiras).
Principais Tabelas do RM Nucleus (Produtos, Movimentos, Lanamentos, etc).
Principais Tabelas do RM Fluxus (Cliente/Fornecedor, Lanamentos, Extratos, etc).
Montagens de relatrios do RM Fluxus e do RM Nucleus.

Treinamentos RM: caminho certo para o sucesso profissional


Reproduo Proibida