Você está na página 1de 32

1

Criando Instruções
SQL Básicas

Copyright  Oracle Corporation, 1999. Todos os direitos reservados.


Objetivos

Depois
Depois de de completar
completar esta
esta lição,
lição, você
você poderá
poderá
fazer
fazer oo seguinte:
seguinte:
•• Listar
Listar os
os recursos
recursos das
das instruções
instruções SELECT
SELECT
SQL
SQL
•• Executar
Executar uma
uma instrução
instrução SELECT
SELECT básica
básica
•• Diferenciar
Diferenciar instruções
instruções SQL
SQL ee comandos
comandos
SQL*Plus,
SQL*Plus, iSQL*Plus
iSQL*Plus

1-2 Copyright  Oracle Corporation, 1999. Todos os direitos reservados.


Recursos das Instruções
SELECT SQL
Seleção Projeção

Tabela 1 Tabela 1
Junção

Tabela 1 Tabela 2
1-3 Copyright  Oracle Corporation, 1999. Todos os direitos reservados.
Instrução SELECT Básica

SELECT
SELECT [DISTINCT]
[DISTINCT] {*,
{*, coluna
coluna [apelido],...}
[apelido],...}
FROM
FROM tabela;
tabela;

•• SELECT
SELECT identifica
identifica que
que colunas.
colunas.
•• FROM
FROM identifica
identifica qual
qual tabela.
tabela.

1-4 Copyright  Oracle Corporation, 1999. Todos os direitos reservados.


Criando Instruções SQL
•• Instruções
Instruções SQL
SQL sem
sem distinção
distinção entre
entre
maiúsculas
maiúsculas ee minúsculas.
minúsculas.
•• Instruções
Instruções SQL
SQL podem
podem estar
estar em
em uma
uma ou
ou
mais
mais linhas.
linhas.
•• Palavras-chave
Palavras-chave nãonão podem
podem ser
ser abreviadas
abreviadas
ou
ou dividas
dividas entre
entre as
as linhas.
linhas.
•• Normalmente,
Normalmente, as as cláusulas
cláusulas são
são colocadas
colocadas
em
em linhas
linhas separadas.
separadas.
•• Guias
Guias ee endentações
endentações são são usadas
usadas para
para
aperfeiçoar
aperfeiçoar aa legibilidade.
legibilidade.

1-5 Copyright  Oracle Corporation, 1999. Todos os direitos reservados.


Selecionando Todas as Colunas

SQL> SELECT *
2 FROM dept;

DEPTNO DNAME LOC


--------- -------------- -------------
10 ACCOUNTING NEW YORK
20 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON

1-6 Copyright  Oracle Corporation, 1999. Todos os direitos reservados.


Selecionando
Colunas Específicas

SQL> SELECT deptno, loc


2 FROM dept;

DEPTNO LOC
--------- -------------
10 NEW YORK
20 DALLAS
30 CHICAGO
40 BOSTON

1-7 Copyright  Oracle Corporation, 1999. Todos os direitos reservados.


Defaults de Cabeçalho de Coluna

•• Justificativa
Justificativa default
default
–– Esquerda:
Esquerda: Dados
Dados de
de caractere
caractere ee data
data
–– Direita:
Direita: Dados
Dados numéricos
numéricos
•• Exibição
Exibição default:
default: Letra
Letra maiúscula
maiúscula

1-8 Copyright  Oracle Corporation, 1999. Todos os direitos reservados.


Expressões Aritméticas

Criar
Criar expressões
expressões com
com dados
dados NUMBER
NUMBER ee DATE
DATE
usando
usando operadores
operadores aritméticos
aritméticos..
Operador Descrição

+ Adicionar

- Subtrair

* Multiplicar

/ Dividir

1-9 Copyright  Oracle Corporation, 1999. Todos os direitos reservados.


Usando Operadores Aritméticos

SQL> SELECT ename, sal, sal+300


2 FROM emp;

ENAME SAL SAL+300


---------- --------- ---------
KING 5000 5300
BLAKE 2850 3150
CLARK 2450 2750
JONES 2975 3275
MARTIN 1250 1550
ALLEN 1600 1900
...
14 rows selected.

1-10 Copyright  Oracle Corporation, 1999. Todos os direitos reservados.


Precedência do Operador
_
// ++ _
**
•• A
A multiplicação
multiplicação ee aa divisão
divisão têm
têm prioridade
prioridade
sobre
sobre aa adição
adição ee aa subtração.
subtração.
•• Os
Os operadores
operadores com
com aa mesma
mesma prioridade
prioridade
são
são avaliados
avaliados da
da esquerda
esquerda para
para aa direita.
direita.
•• Os
Os parênteses
parênteses são
são usados
usados para
para forçar
forçar aa
avaliação
avaliação priorizada
priorizada ee para
para esclarecer
esclarecer asas
instruções.
instruções.

1-11 Copyright  Oracle Corporation, 1999. Todos os direitos reservados.


Precedência do Operador

SQL> SELECT ename, sal, 12*sal+100


2 FROM emp;

ENAME SAL 12*SAL+100


---------- --------- ----------
KING 5000 60100
BLAKE 2850 34300
CLARK 2450 29500
JONES 2975 35800
MARTIN 1250 15100
ALLEN 1600 19300
...
14 rows selected.

1-12 Copyright  Oracle Corporation, 1999. Todos os direitos reservados.


Usando Parênteses

SQL> SELECT ename, sal, 12*(sal+100)


2 FROM emp;

ENAME SAL 12*(SAL+100)


---------- --------- -----------
KING 5000 61200
BLAKE 2850 35400
CLARK 2450 30600
JONES 2975 36900
MARTIN 1250 16200
...
14 rows selected.

1-13 Copyright  Oracle Corporation, 1999. Todos os direitos reservados.


Definindo um Valor Nulo
•• Um
Um valor
valor nulo
nulo não
não está
está disponível,
disponível, não
não éé
atribuído,
atribuído, éé desconhecido
desconhecido ou ou não
não éé aplicável.
aplicável.
•• Um
Um valor
valor nulo
nulo não
não éé oo mesmo
mesmo que
que um
um zero
zero ou
ou
um
um espaço
espaço emem branco.
branco.

SQL> SELECT ename, job, sal, comm


2 FROM emp;

ENAME JOB SAL COMM


---------- --------- --------- ---------
KING PRESIDENT 5000
BLAKE MANAGER 2850
...
TURNER SALESMAN 1500 0
...
14 rows selected.
1-14 Copyright  Oracle Corporation, 1999. Todos os direitos reservados.
Valores Nulos nas
Expressões Aritméticas
Expressões
Expressões aritméticas
aritméticas contendo
contendo um
um valor
valor
nulo
nulo avaliado
avaliado como
como nulo.
nulo.
SQL> select ename, 12*sal+comm
2 from emp
3 WHERE ename='KING';

ENAME 12*SAL+COMM
---------- -----------
KING

1-15 Copyright  Oracle Corporation, 1999. Todos os direitos reservados.


Definindo um Apelido de Coluna

•• Renomeia
Renomeia um um cabeçalho
cabeçalho de
de coluna
coluna
•• É
É útil
útil para
para cálculos
cálculos
•• Segue
Segue imediatamente
imediatamente oo nome
nome dada coluna;
coluna;
palavra-chave
palavra-chave AS AS opcional
opcional entre
entre oo nome
nome
da
da coluna
coluna ee oo apelido
apelido
•• Necessita
Necessita dede aspas
aspas duplas
duplas caso
caso contenha
contenha
espaços
espaços ouou caracteres
caracteres especiais
especiais ou
ou faça
faça
distinção
distinção entre
entre maiúsculas
maiúsculas ee minúsculas
minúsculas

1-16 Copyright  Oracle Corporation, 1999. Todos os direitos reservados.


Usando Apelidos de Coluna
SQL> SELECT ename AS name, sal salary
2 FROM emp;

NAME SALARY
------------- ---------
...

SQL> SELECT ename "Name",


2 sal*12 "Annual Salary"
3 FROM emp;

Name Annual Salary


------------- -------------
...

1-17 Copyright  Oracle Corporation, 1999. Todos os direitos reservados.


Operador de Concatenação

•• Concatena
Concatena colunas
colunas ou
ou strings
strings de
de caractere
caractere
aa outras
outras colunas
colunas
•• ÉÉ representado
representado porpor duas
duas barras
barras
verticais
verticais (||)
(||)
•• Cria
Cria uma
uma coluna
coluna resultante
resultante que
que éé uma
uma
expressão
expressão de de caracteres
caracteres

1-18 Copyright  Oracle Corporation, 1999. Todos os direitos reservados.


Usando um Operador de
Concatenação
SQL> SELECT ename||job AS "Employees"
2 FROM emp;

Employees
-------------------
KINGPRESIDENT
BLAKEMANAGER
CLARKMANAGER
JONESMANAGER
MARTINSALESMAN
ALLENSALESMAN
...
14 rows selected.

1-19 Copyright  Oracle Corporation, 1999. Todos os direitos reservados.


Strings Literais de Caracteres

•• Uma
Uma literal
literal éé um
um caractere,
caractere, um
um número
número ou
ou
uma
uma data
data incluída
incluída na na lista
lista SELECT.
SELECT.
•• Os
Os valores
valores literais
literais de
de caractere
caractere ee data
data
devem
devem estar
estar entre
entre aspas
aspas simples.
simples.
•• Cada
Cada string
string dede caractere
caractere éé gerada
gerada uma
uma vez
vez
para
para cada
cada linha
linha retornada.
retornada.

1-20 Copyright  Oracle Corporation, 1999. Todos os direitos reservados.


Usando Strings Literais
de Caracteres
SQL> SELECT ename ||' is a '||job
2 AS "Employee Details"
3 FROM emp;

Employee
Employee Details
Details
-------------------------
-------------------------
KING
KING is
is aa PRESIDENT
PRESIDENT
BLAKE
BLAKE is
is aa MANAGER
MANAGER
CLARK
CLARK is
is aa MANAGER
MANAGER
JONES
JONES is
is aa MANAGER
MANAGER
MARTIN
MARTIN is
is aa SALESMAN
SALESMAN
...
...
14
14 rows
rows selected.
selected.

1-21 Copyright  Oracle Corporation, 1999. Todos os direitos reservados.


Linhas Duplicadas
A
A exibição
exibição default
default das
das consultas
consultas éé de
de todas
todas
as
as linhas,
linhas, incluindo
incluindo linhas
linhas duplicadas.
duplicadas.
SQL>
SQL> SELECT
SELECT deptno
deptno
22 FROM
FROM emp;
emp;

DEPTNO
---------
10
30
10
20
...
14 rows selected.

1-22 Copyright  Oracle Corporation, 1999. Todos os direitos reservados.


Eliminando Linhas Duplicadas
Elimine
Elimine linhas
linhas duplicadas
duplicadas usando
usando aa palavra-
palavra-
chave
chave DISTINCT
DISTINCT nana cláusula
cláusula SELECT.
SELECT.
SQL> SELECT DISTINCT deptno
2 FROM emp;

DEPTNO
---------
10
20
30

1-23 Copyright  Oracle Corporation, 1999. Todos os direitos reservados.


Interação SQL e SQL*Plus
Instruções SQL Instruções SQL
Buffer

Servidor

SQL*Plus

Comandos do Resultados da Consulta


SQL*Plus

Relatório Formatado

1-24 Copyright  Oracle Corporation, 1999. Todos os direitos reservados.


Instruções SQL Versus
Comandos SQL*Plus
SQL SQL*Plus
• Uma linguagem • Um ambiente
• Padrão ANSI • Patenteado pela Oracle
• A palavra-chave não • As palavras-chave podem
pode ser abreviada ser abreviadas
• As instruções • Os comandos não
manipulam definições de permitem a manipulação
dados e tabela no banco dos valores no banco
de dados de dados

Instruções Buffer de Comandos Buffer de


SQL SQL SQL*Plus SQL*Plus

1-25 Copyright  Oracle Corporation, 1999. Todos os direitos reservados.


Visão Geral do SQL*Plus
•• Estabelecer
Estabelecer login
login no
no SQL*Plus.
SQL*Plus.
•• Descrever
Descrever aa estrutura
estrutura de
de tabela.
tabela.
•• Editar
Editar aa instrução
instrução SQL.
SQL.
•• Executar
Executar oo código
código SQL
SQL aa partir
partir do
do
SQL*Plus.
SQL*Plus.
•• Salvar
Salvar as
as instruções
instruções SQL
SQL emem arquivos
arquivos ee
anexar
anexar asas instruções
instruções SQL
SQL aa arquivos.
arquivos.
•• Executar
Executar arquivos
arquivos salvos.
salvos.
•• Carregar
Carregar comandos
comandos aa partir
partir de
de arquivo
arquivo
para
para buffer
buffer ee editá-los.
editá-los.
1-26 Copyright  Oracle Corporation, 1999. Todos os direitos reservados.
Estabelecendo Login no SQL*Plus
• No ambiente Windows:

• Na linha de comando:
sqlplus [nome do usuário[/senha
[@banco de dados]]]
1-27 Copyright  Oracle Corporation, 1999. Todos os direitos reservados.
Estabelecendo
Estabelecendo Login
Login no
no iSQL*Plus
iSQL*Plus
• No Navegador:

• No login infome:
[nome do usuário] [senha ]
[banco de dados]
1-28 Copyright  Oracle Corporation, 1999. Todos os direitos reservados.
Exibindo a Estrutura de Tabela

Use
Use oo comando
comando DESCRIBE
DESCRIBE do
do SQL*Plus
SQL*Plus para
para
exibir
exibir aa estrutura
estrutura de
de uma
uma tabela.
tabela.

DESC[RIBE]
DESC[RIBE] nome
nome da
da tabela
tabela

1-29 Copyright  Oracle Corporation, 1999. Todos os direitos reservados.


Exibindo a Estrutura de Tabela

SQL>
SQL> DESCRIBE
DESCRIBE dept
dept

Name
Name Null?
Null? Type
Type
-----------------
----------------- --------
-------- ------------
------------
DEPTNO
DEPTNO NOT
NOT NULL
NULL NUMBER(2)
NUMBER(2)
DNAME
DNAME VARCHAR2(14)
VARCHAR2(14)
LOC
LOC VARCHAR2(13)
VARCHAR2(13)

1-30 Copyright  Oracle Corporation, 1999. Todos os direitos reservados.


Sumário

SELECT
SELECT [DISTINCT]
[DISTINCT] {*,coluna
{*,coluna [apelido],...}
[apelido],...}
FROM
FROM tabela;
tabela;

Use
Use oo SQL*Plus
SQL*Plus ou
ou iSQL*Plus
iSQL*Plus como
como um
um
ambiente
ambiente para:
para:
•• Executar
Executar instruções
instruções SQL
SQL
•• Editar
Editar instruções
instruções SQL
SQL

1-31 Copyright  Oracle Corporation, 1999. Todos os direitos reservados.


Visão Geral do Exercício

•• Selecionando
Selecionando todos
todos os
os dados
dados aa partir
partir de
de
tabelas
tabelas diferentes
diferentes
•• Descrevendo
Descrevendo aa estrutura
estrutura de
de tabelas
tabelas
•• Executando
Executando cálculos
cálculos aritméticos
aritméticos ee
especificando
especificando nomes
nomes de
de coluna
coluna
•• Usando
Usando oo editor
editor do
do SQL*Plus
SQL*Plus ou
ou iSQL*Plus
iSQL*Plus

1-32 Copyright  Oracle Corporation, 1999. Todos os direitos reservados.

Você também pode gostar