Pular para o conteúdo principal

Postagens

Mostrando postagens com o rótulo having

O que devemos conhecer sobre SQL/Oracle Parte 8: Apresentando dados de varias tabelas

Escrevendo comandos SELECT que acessam dados de mais de uma tabela  As junções são utilizadas para mesclar registros de uma ou mais tabelas em um único resultado. Temos duas grandes categorias para a criação das junções: Inner joins: conectam registros em duas ou mais tabelas se, e somente se, existirem registros iguais em todas as tabelas relacionadas (a cláusula INNER é opcional): SELECT F.NOME, D.DEPARTAMENTO FROM FUNCIONARIOS F INNER JOIN DEPARTAMENTOS D ON F.DEP = D.DEP; Acima duas tabelas unidas pela condição de igualdade DEP, onde serão apresentados os funcionários que pertencem a um departamento. Outer joins: conectam registros em duas ou mais tabelas de maneira inclusiva, se existirem  dados em uma tabela que não tenha valores correspondentes em outra, esses registros não correspondentes serão incluídos no resultado (a cláusula OUTER é opcional):  SELECT F.NOME, D.DEPARTAMENTO FROM FUNCIONARIOS F LEFT OUTER JOIN DEPARTAMENTOS D ON F.DEP = D

O que devemos conhecer sobre SQL/Oracle Parte 7: Apresentando dados agregados utilizando funções de grupo

Identificando as funções de grupo disponíveis Funções de grupo, ou agregadas, retornam um valor para zero ou mais registros encontrados. São utilizados em comandos SELECT, buscam um grupo de registros retornando um valor para esse grupo. Trabalham com diferentes tipos de dados, mas são as funções agregadas numéricas as mais utilizadas. É importante ter em mente que as funções agregadas devem ser tratadas de maneira separada das funções escalares (de uma única linha), pois enquanto uma trata conjuntos de registros à outra trabalha sobre cada registro retornado. • Funções de grupo são conhecidas como agregadas ou multilinha; • Funções de grupo retornam um valor para cada conjunto de registros (de zero ou mais registros); • Funções de grupo determinam valores máximos, mínimos, media entre outros; • Funções de grupo podem determinar o rank em um grupo de registros; Descrevendo o uso das funções de grupo Funções de grupo podem ser usadas nas clausulas SE

O que devemos conhecer sobre SQL/Oracle Parte 6: Usando funções de linha única (single-row) para customizar a saída de dados

Descrevendo os vários tipos de funções disponíveis em SQL As funções de linha única podem ou não receber dados adicionais, parâmetros, realizar um determinado processamento e em seguida devolver um valor. Elas possuem esse nome por serem processadas a cada registro recuperado de uma consulta, e do mesmo modo retornar um resultado para cada registro. Existem basicamente dois grupos dessas funções, as “built-in” que são parte integrante do Oracle e as “user-defined”, desenvolvidas pelos usuários. Quanto a funções de linha única podemos dizer: Funções SQL aceitam um ou mais parâmetros de entrada. Alguns não recebem nenhum; Cada função retorna um único valor, nem mais nem menos; Funções SQL executam tarefas de vários tipos; Funções podem ser incluídas em qualquer lugar de uma expressão SQL, desde que as regras dos tipos de dados sejam respeitadas; Funções podem ser incluídas na clausula WHERE do SELECT, UPDATE e DELETE; Funções podem ser incluídas nas listas de colunas do S

O que devemos conhecer sobre SQL/Oracle Parte 5: Restringindo e ordenando dados

Limitando registros recuperados por uma consulta Na grande maioria dos casos apenas listar as colunas desejadas de certa tabela não é o suficiente, é necessário restringir o resultado de acordo com regras para que esse resultado possa ter algum significado, isso é alcançado pela cláusula WHERE. O WHERE não é obrigatório, mas quando usado no comando SELECT deve vir depois da cláusula FROM. Ele sempre testa todos os registros recuperados pela consulta, retornando aqueles que o satisfizerem. Para realizar as comparações da cláusula WHERE temos o operador de igualdade “=”, maior que “>”, maior ou igual “>=”, menor que “<”, menor ou igual “<=”, diferente “<>“, “!=” ou “^=”, se pertence “IN” e se contém uma parte especifica “LIKE”. Comparações com números são logicas, onde números menores são menores que números maiores. Os caracteres respeitam a ordem do alfabeto, onde “A” é menor que “Z”, e “Z” é menor que “a” (letras maiúsculas são sempre menores), além disso,

O que devemos conhecer sobre SQL/Oracle Parte 4: Recuperando dados usando o comando SELECT

Executando um comando básico de SELECT O comando SELECT é utilizado para analisar, transformar e apresentar dados gravados no banco veja a sintaxe: SELECT nome_coluna, expressão, FROM nome_da_tabela; É possível listar na clausula SELECT colunas disponíveis nas tabelas da clausula FROM, também é possível utilizar funções, realizar cálculos, dentre outras coisas que serão vistas a seguir. Sobre o comando SELECT é importante ter em mente: Um SELECT deve possuir ao menos uma lista a ser selecionada e a clausula FROM; Colunas na lista SELECT devem pertencer a uma das tabelas da clausula FROM; Listando as capacidades do comando SELECT O comando SELECT é muito poderoso, com ele podemos selecionar colunas de tabelas, formatar seus valores e até utiliza-los para cálculos. Quando a questão são os cálculos e importante ter em mente a precedência de operadores, onde temos com prioridade máxima os parênteses, seguido dos operadores de divisão e multiplicação e por fim

O que devemos conhecer sobre SQL/Oracle Parte 3: Manipulando dados

Descrevendo cada comando de manipulação e dados (DML) Comandos DML (Data manipulation language) são utilizados para inserir, atualizar e remover registros do banco. São cinco os principais comandos DML: INSERT, UPDATE, DELETE, SELECT e MERGE: INSERT adiciona registros na tabela; UPDATE altera registros existentes na tabela; DELETE remove registros existentes na tabela; SELECT mostra dados da tabela; MERGE será visto em breve; Inserindo registros na tabela O comando para inserir registros é o INSERT, veja a sinaxe: INSERT INTO nome_da_tabela(coluna_1, coluna_2) VALUES(valor_1, valor_2); No comando acima duas colunas e dois valores são listados, essa relação sempre deve ser igual, não importa a ordem em que são listadas. É possível omitir colunas durante o INSERT, desde que as restrições da tabela sejam respeitadas. Também é possível inserir sem informar nenhuma coluna, desse modo é obrigatório informar valores para todas as colunas da tabela, na ordem em que

O que devemos conhecer sobre SQL/Oracle Parte 1: Introdução ao SQL

  Série de postagens sobre SQL A algum tempo atrás, não me lembro se 2009 ou 2010, comecei a escrever uma serie de artigos contendo pontos importantes sobre banco de dados, mais precisamente Oracle. Porem um descuido e uma formatação apressada fez com que eu perdesse esses artigos. Porem recentemente, buscando uma declaração de imposto de renda, reencontrei esses artigos, a maior parte ainda esta sem formatação e outra por terminar, mas o fato de ter encontrado me deu vontade de finalizar e publicar tudo, ao todo imaginei cerca dezoito postagens abordando os mais variados tópicos.  Começaremos hoje com um pouco de historia e um rápido resumo, espero que gostem desse e dos próximos. Banco de dados relacionais e Dr. E. F. Codd Antes do advento dos bancos de dados relacionais, cada desenvolvedor formulava seus próprios meios de armazenar, alterar e recuperar dados, dessa forma cada aplicação tratava a informação de