Criar Web, manuais e recursos para desenvolvimento web
Manuais
Programas
FAQS
Diretório
Comunidade
  Inicio > Manuais > Tutorial de SQL
SEÇÕES
Manuais relacionados
+Tutorial de SQL
Categorias
+Linguagem SQL

Índice do Manual Tutorial de SQL
+ O que é SQL
+ Tipos de campos
+ Adicionar um novo registro
+ Apagar um registro
+ Atualizar um registro
+ Seleção de tabelas I
+ Seleção de tabelas II
+ Seleção de tabelas III
+ Seleção de tabelas IV
+ Aproveite seu banco de dados
+ Tabelas temporárias no Sql Server
+ Adquirindo informações do Usuário com a classe System
+ Alguns truques práticos
+ Criação de tabelas
+ SQL e Programação de Banco de Dados
+ Funções para buscas com datas em Access
+ Função em SQL para o cálculo de dias de trabalho
+ SQL com Oracle
+ SQL com Oracle. Operadores
+ Sub-consultas SQL
+ Funções SQL
+ Agrupamento e combinação de elementos com SQL
+ Manipulação de dados com SQL
+ Chaves primárias com SQL com Oracle
+ Definição de chaves para tabelas e restrições
+ Supressão e modificação de tabelas com SQL
+ Gerenciamento de vistas em SQL
+ Usuários em Oracle
+ Gerenciamento em Oracle com SQL
+ Otimizar consultas SQL
+ Consultas de seleção
+ Critérios de seleção em SQL
+ Como exibir informações com múltiplas instruções SQL
+ Critérios de seleção em SQL II
+ Consultas de ação
+ Tipos de dados SQL
+ Subconsultas em SQL
+ Consultas SQL de União Internas
+ Estruturas das tabelas em SQL
+ Cursores em SQL
+ Referências Cruzadas em SQL
+ Introdução a freetext e contains em SQL-Server
+ Acesso ao banco de dados externos
+ Consultas com parâmetros e omissão de permissões
+ Procedures e busca de registros duplicados em SQL
+ A função datepart() em Access
+ Emular um Cursor SQL com um Loop
+ Tipos de instruções SQL e seus componentes sintáticos

Descrição dos capítulos

Parceiros
- CSS para Web Design
- S.O.S Designers
- Slackware-Brasil
- Crie seu Web site
- Oficina da Net


Agrupamento e combinação de elementos com SQL

Aprendemos a agrupar elementos e a combinar filas selecionadas com SQL para Oracle.


Agrupamento de elementos. Group by e Having:

Para saber qual é o salário médio de cada departamento da tabela Jogadores seria:

   SELECT TIME_NO, AVG (SALARIO) "SALARIO MEDIO"
   FROM JOGADORES
   GROUP BY DEPT_NO;


A sentença "Select" possibilita agrupar um ou mais conjuntos de filas. O agrupamento se realiza mediante a cláusula "GROUP BY" pelas comunas especificadas e na ordem especificada. Formato:

   SELECT…
   FROM…
   GROUP BY COLUNA1, COLUNA2, COLUNAN…
   HAVING CONDICAO
   GROUP BY …


Os dados selecionados na sentença "Select" que leva o "Group By" devem ser:
  • Uma constante.
       
  • Uma função de grupo (SUM, COUNT, AVG…)
       
  • Uma coluna expressa no Group By.
A cláusula Group By serve para calcular propriedades de um ou mais conjuntos de filas. Se se seleciona mais de um conjunto de filas, Group By controla que as filas da tabela original sejam agrupadas em um temporário.

A cláusula Having se emprega para controlar qual dos conjuntos de filas se visualiza. Avalia-se sobre a tabela que devolve o Group By. Não pode existir sem Group By.

Having é parecido ao Where, porém trabalha com grupos de filas; pergunta por uma característica de grupo, ou seja, pergunta pelos resultados das funções de grupo, o qual Where não pode fazer.

Combinação externa (outer joins):

Permite-nos selecionar algumas filas de uma tabela embora estas não tenham correspondência com as filas da outra tabela com a que se combina. Formato:

SELECT TABELA1.COLUNA1, TABELA1.COLUNA2, TABELA2.COLUNA1, TABELA2.COLUNA2
   FROM TABELA1, TABELA2
   WHERE TABELA1.COLUNA1 = TABELA2.COLUNA1 (+);


Isto seleciona todas as filas da tabela "tabela1" embora não tenham correspondência com as filas da tabela "tabela2", se utiliza o símbolo +.
O resto de colunas da tabela "tabela2" se preenche com NULL.

Union, intersec e minus:

Permite combinar os resultados de vários "Select" para obter um único resultado. Formato:

   SELECT… FROM… WHERE…
   OPERADOR_DE_CONJUNTO
   SELECT…FROM…WHERE…


UNION= Combina os resultados de duas consultas. As filas duplicadas que aparecem se reduzem a uma fila única.
UNION ALL= Como a anterior, porém aparecerão nomes duplicados.
INTERSEC= Devolve as filas que são iguais em ambas consultas. Todas as filas duplicadas serão eliminadas.
MINUS= Devolve aquelas filas que estão na primeira "Select" e não estão na segunda "Select". As filas duplicadas do primeiro conjunto se reduzirão a uma fila única antes que comece a comparação com o outro conjunto.

Regras para a utilização de operadores de conjunto:
  • As colunas das duas consultas se relacionam em ordem, da esquerda à direita.
  • Os nomes de coluna da primeira sentença "Select" não tem porque ser os mesmos que os nomes da segunda.
  • Os "Select" necessitam ter o mesmo número de colunas.
  • Os tipos de dados devem coincidir, embora a longitude não tem que ser a mesma.
>

Autoria e outras referências sobre este artigo

Manuais relacionados com este artigo
Dentro de Tutorial de SQL
Anterior: Funções SQL

Categorias relacionadas
Através das categorias do nosso diretório podem ser encontrados outros tipos de recursos relacionados com este artigo:
+ Entrar em Linguagem SQL


Comentários dos visitantes
Os comentários dos visitantes são para ampliar a informação do artigo. Todos podem participar.
Acrescentar um comentário do artigo Acrescentar um comentário do artigo



Sobre nós | Copyright | Anuncie | Entrar em contato <criarweb>

Hospedado por Hostnet Hospedagem de Sites