Sunteți pe pagina 1din 42

Fundamentos de SQL

INSTRUES SQL - SELECT


Objetivo
Possibilitar a obteno de conceitos bsicos emconsultas SQL;
Abordar o uso dos principais comandos para desenvolver
consultas simples e sub-consultas;
Usar funes e operadores de conjunto de dados.
Ementa
Introduo ao banco de dados Oracle
Recuperar dados usando a instruo SQL SELECT
Retornar e classificar dados
Usar funes de linha simples
Usar funes de converso e expresso condicional
Retornar dados agregados usando funes de
grupo
Retornar dados a partir de mltiplas tabelas
Usar sub-consultas para resolver consultas
Usar operadores de conjunto
Agenda
1 Dia
Introduo ao banco de dados Oracle
Arquitetura de comunicao do banco de dados
Entender estruturas relacionais
Normalizar dados
Comandos SQL
Utilizar interface grfica
Criar uma conexo com o banco de dados
Criar esquema
Recuperar dados usando a instruo SQL SELECT
Introduzir as capacidades da instruo SQL SELECT
Executar uma instruo SELECT bsica
Exemplos e Exerccios
Agenda
2 Dia
Retornar e classificar dados
Limitando as linhas que so retornadas por uma
consulta
Classificando as linhas que so retornadas por uma
consulta
Utilizando o & comercial para restringir e classificar
linhas em tempo de execuo
Usar funes de linha simples
Descrever os tipos de funes disponveis em SQL
Usar funes de caractere, nmero e data em
instrues SQL
Exemplos e Exerccios
Agenda
3 Dia
Usar funes de converso e condicional
Usar funes de converso TO_CHAR, TO_NUMBER e
TO_DATE
Usar funes tratamento de valores nulos: NVL, NVL2,
NULLIF e COALESCE
Usar funes condicionais: DECODE e CASE
Retornar dados agregados usando funes de grupo
Apresentar as funes de grupo simples e aninhadas
Criar grupo de dados usando a clusula GROUP BY
Incluir ou excluir grupos de dados usando a clusula
HAVING
Exemplos e Exerccios
Agenda
4 Dia
Retornar dados a partir de mltiplas tabelas
Escrever instrues SELECT para acessar dados
usando equijoins, nonequijoins e self-join
Escrever instrues SELECT para gerar produto
cartesiano
Usar sub-consultas para resolver consultas
Definir sub-consultas
Descrever os tipos de problemas que as sub-
consultas podem resolver
Listar os tipos de sub-consultas
Escrever sub-consultas de linhas simples e
mltiplas linhas
Exemplos e Exerccios
Agenda
5 Dia
Usar operadores de conjunto
Descrever os operadores de conjunto
Usar os operadores de conjunto para
combinar mltiplas consultas
Controlar a ordem das linhas
retornadas
Exemplos e Exerccios
Introduo ao banco de dados
oracle
Arquitetura de comunicao
A figura representa o processo de comunicao entre o
usurio e o SGBD Oracle.
Estrutura relacional - Human
Resources (Esquema: HR)
Modelo Entidade
Relacionamento Lgico
Modelo Entidade
Relacionamento Fsico
Relacionamento
Veja um exemplo de relacionamento entre employees e
departments utilizando primary key e foreign key.
Interface grfica (SQL Developer)
Recuperar dados usando
instrues SQL SELECT
Objetivo:
Listar a capacidade de uma instruo SQL SELECT;
Executar uma expresso SELECT.
Tpicos:
Instruo SELECT bsica;
Expresses aritmticas e valores nulos;
Apelido (alias) de colunas;
Operadores de concatenao e DISTINCT;
Comando DESCRIBE
Capacidade de uma
instruo SQL SELECT
Banco de dados relacionais cresceram a partir
de um forte conceito matemtico definido como
teoria relacional ou formalmente chamado de
lgebra relacional;
Os conceitos da teoria relacional de projeo,
seleo e juno abrangem a capacidade da
instruo SELECT.
Projeo
As consultas abaixo so utilizadas para demonstrar o
uso do conceito de projeo.
Seleo
Veja nas figuras a diferena entre o retorno de todos os
registros da tabela e a seleo do employee_id = 102.
Juno
Em complemento aos exemplos anteriores, visualize o resultado da
juno entre as tabelas employees e departments.
Instruo SQL
As instrues SQL SELECT so ilimitadas
combinaes de projeo, seleo e juno
(projection, selection e join);
A identao importante para manter a
legibilidade do cdigo (cada clusula em uma
linha);
Cada instruo deve ser separada por ; ou / em
especial quando houver a necessidade de
escrever mais de uma instruo SQL.
Instruo SQL (cont.)
As palavras reservadas podem ser maisculas e/ ou minsculas
(aconselha-se o uso em maiscula);
As palavras reservadas no podem ser usadas como nome de
coluna ou de objetos do banco de dados;
As palavras SELECT e FROMso obrigatrias (mandatory).
Instruo SELECT bsica
Selecionando todas as colunas
Instruo SELECT bsica
Selecionando colunas especificas
Expresses aritmticas
Operadores de precedncia
A tabela abaixo apresenta os operadores utilizados
na expresso aritmtica da instruo SELECT, assim
como o nvel de precedncia.
Expresses aritmticas
Operadores de precedncia
A instruo abaixo calcula a quantidade de dias
trabalhados pelo empregado em cada funo
ocupada.
Expresses aritmticas
Operadores de precedncia
Nas instrues abaixo possvel visualizar a
diferena dos resultados apresentados com e sem
o uso do ().
Definindo dados nulo (NULL)
NULL se refere a ausncia de dados;
Zero e espao so diferentes de NULL, pois ocupamespao;
Expresso aritmtica entre colunas comvalores nulos sempre retornam NULL;
A existncia do NULL ignorada emconcatenao entre caracteres.
Definindo valores nulos (Exemplos)
Expresso aritmtica com
NULL
Concatenao entre
caracteres
Apelido (alias) de colunas
O alias definido formalmente com a palavra AS
(opcional);
Pode ser um nome alternativo para uma coluna ou
expresso;
Existemalgumas regras para seu uso:
O uso da permite que o apelido contenha espaos e
preserva a estrutura da escrita;
Se o apelido no estiver com este sempre aparecer
emmaisculo (UPPERCASE).
Apelido (alias) de colunas
Expresso semalias
Expresso com alias
Operadores de concatenao
Possibilita a unio entre caracteres de duas ou
mais colunas;
Retornar como resultado sempre uma expresso
de caracteres;
O tipo de dado determina a sada da consulta
(visualizao), se este dado numrico o
resultado ser a direita, se caracter ou data a
esquerda.
Operadores de concatenao
Na instruo a seguir ocorre a concatenao entre coluna e caracteres,
almdo uso de expresso aritmtica.
Valores literal
Todo dado do tipo numrico, data e caracteres pode ser um valor
literal.
Os tipos data e caractere devem estar entre .
So utilizados na instruo SELECT.
Valores literal
O valor literal definido retornado para todas as linhas da
consulta;
Abaixo est sendo usado os valores literal Funo e Menor
salrio concatenado comoutras colunas.
Duplicidade de linhas -
DISTINCT
Possibilita a eliminao de registros
duplicados.
As colunas utilizadas na instruo DISTINCT
influenciamo resultado gerado pela consulta.
Duplicidade de linhas - DISTINCT
Quando utilizar?
Imagine que voc deseja identificar todos os job_id da
tabela employees.
Como pode ser
visualizado, os registros
esto duplicados.
Como resolver?
Duplicidade de linhas
DISTINCT (cont.)
Veja abaixo o resultado da consulta com o uso
do comando DISTINCT.
Duplicidade de linhas DISTINCT
(cont.)
Agora voc deseja saber quais so os job_id de cada
departamento;
Observe no exemplo o uso do DISTINCT com duas colunas
na lista SELECT.
Comando DESCRIBE (DESC)
Permite visualizar a estrutura dos dados da tabela;
O nome de uma tabela definido como:
[nomeDoEsquema].nomeDaTabela;
Comando DESCRIBE (DESC)
Nas figuras abaixo possvel visualizar a estrutura
da tabela das seguintes formas: com o uso do
comando DESC e atravs da IDE.
Se todos ns fizssemos as coisas de que
somos capazes, literalmente espantaramos a
ns mesmos. (Thomas Edison)
Exerccios

S-ar putea să vă placă și