Escolar Documentos
Profissional Documentos
Cultura Documentos
INDICE
Recuperando dados com o SQL SELECT 2,17
Executando instruções DML e DDL Operações com o GUI SQL Developer 224
1
Recuperando dados com o SQL SELECT
2
Declaração Basica SELECT
SELECT *|{[DISTINCT] column|expression [alias],...}
FROM table;
3
Selecionando todas as colunas
SELECT *
FROM departments;
4
Selecionando Colunas Específicas
5
Expressões Aritméticas
Operator Description
+ Add
- Subtract
* Multiply
/ Divide
6
Usando operadores aritméticos
7
Precedência de Operadores
…
SELECT last_name, salary, 12*(salary+100)
FROM employees; 2
8
Definindo Valor nulo
9
Valores Nulos em Expressões Aritméticas
As expressões aritméticas contendo um valor nulo avaliar
como nulo.
10
Usando Alias de coluna
11
Operador de Concatenação
12
Utilizando cadeias de caracteres literais
13
Operador Alternativo
14
Linhas Duplicadas
SELECT department_id
FROM employees; 1
…
SELECT DISTINCT department_id
FROM employees; 2
15
Mostrar a Estrutura da Tabela
DESC[RIBE] tablename
16
Usando o Comando DESCRIBE
DESCRIBE employees
17
Restringindo e Classificando Dados
18
Limitando Linhas utilizando o
Comando Select
EMPLOYEES
…
“retrieve all
employees in department 90”
19
Limitando as linhas que são selecionadas
20
Usando a cláusula WHERE
21
Cadeias de caracteres e datas
• Cadeias de caracteres e valores de data são
colocados entre aspas simples.
• Os valores dos caracteres são maiúsculas de
minúsculas e valores de data são sensíveis ao
formato.
• O formato de exibição de data padrão é
DD-MON-RR.
SELECT last_name
FROM employees
WHERE hire_date = '17-FEB-96' ;
22
Operadores de comparação
Operator Meaning
= Equal to
> Greater than
>= Greater than or equal to
< Less than
<= Less than or equal to
<> Not equal to
BETWEEN Between two values (inclusive)
...AND...
23
Usando Operadores de Comparação
24
25
25
Condições usando o operador IN
26
Combinação de padrões utilizando o operador
LIKE
Use o operador LIKE para executar pesquisas curinga de
valores de string de pesquisa válidos.
Condições de pesquisa pode conter caracteres literais ou
números:
SELECT first_name
FROM employees
WHERE first_name LIKE 'S%' ;
27
Combinando Caracteres Curinga
SELECT last_name
FROM employees
WHERE last_name LIKE '_o%' ;
28
Utilizando as condições NULL
29
Definição das condições usando os operadores
lógicos
Operator Meaning
30
Usando o Operador And
AND requer tanto as condições de componentes para ser
verdade:
SELECT employee_id, last_name, job_id, salary
FROM employees
WHERE salary >= 10000
AND job_id LIKE '%MAN%' ;
31
Usando o Operador OR
OR requer qualquer condição componente para ser
verdade:
SELECT employee_id, last_name, job_id, salary
FROM employees
WHERE salary >= 10000
OR job_id LIKE '%MAN%' ;
32
Usando o Operador Not
33
Regras de Precedência
Operator Meaning
1 Arithmetic operators
2 Concatenation operator
3 Comparison conditions
4 IS [NOT] NULL, LIKE, [NOT] IN
5 [NOT] BETWEEN
6 Not equal to
7 NOT logical condition
9 OR logical condition
34
Regras de Precedência
35
Usando a Clausula Order By
36
1ª - Desc
37
Classificação usando posicionamento numérico das
colunas:
SELECT last_name, job_id, department_id, hire_date
FROM employees 3
ORDER BY 3;
38
Variaveis de Substituição
... salary = ? …
… department_id = ? …
... last_name = ? ...
I want
to query
different
values.
39
Usando o Conceito de Variáveis de
Substituição
Use uma variável com (&) para solicitar ao usuário um valor:
40
Usando Variaveis de Substituição
41
Usando Variaveis de Substituição
42
Especificando nome de coluna,
Expressões e Texto
43
Usando o Duplo (&&) nas Variáveis de
Substituição
44
Usando o Comando Define
45
Usando o Comando Verify
SET VERIFY ON
46
Usando Funções Oracle
47
Funções SQL
Input Output
Function
arg 2
Result
value
arg n
48
Funções de Simples Linha
Character
Conversion Date
49
Funções de Caracteres
Character
functions
Case-conversion Character-manipulation
functions functions
LOWER CONCAT
UPPER SUBSTR
INITCAP LENGTH
INSTR
LPAD | RPAD
TRIM
REPLACE
50
Estas funções de conversão de caracteres:
Function Result
51
Usando a Função Lower – Converter o Caráter em
Minúsculo :
52
Funções de Manipulação de Caracteres
Function Result
53
Usando Funções de Manipulações de
Caracteres
54
Funções Numéricas
Function Result
ROUND(45.926, 2) 45.93
TRUNC(45.926, 2) 45.92
MOD(1600, 300) 100
55
Usando a Função ROUND
56
Usando a Função TRUNC
57
Usando a Função MOD
58
Trabalhando com Datas
59
RR Formato de Data
Current
Current Year
Year Specified Date RR Format YY Format
1995 27-OCT-95 1995
1995 27-OCT-17 2017 1995
2001 27-OCT-17 2017 1917
2001 27-OCT-95 1995 2017
0–49 50–99
If two digits of the The return date is in the The return date is in the
current current century century before the current one
0–49
year are:
60
Usando a Função Sysdate
SELECT sysdate
FROM dual;
61
Usando Operadores Aritméticos com Data
62
Funções de Manipulação de Datas
Function Result
63
Usando Funções de Data
Function Result
MONTHS_BETWEEN 19.6774194
('01-SEP-95','11-JAN-94')
64
Usando Função ROUND, TRUNC com Data
ROUND(SYSDATE,'MONTH') 01-AUG-03
ROUND(SYSDATE ,'YEAR') 01-JAN-04
65
Usando Funções de Conversão
Expressões Condicionais
66
Funções de Conversões
Data type
conversion
67
Tipo de Dados Implícito de Conversão
68
Tipo de Dados Implícito de Conversão
69
Tipo de Dados Explicito de Conversão
TO_NUMBER TO_DATE
TO_CHAR TO_CHAR
70
Usando a função TO_CHAR com Datas
TO_CHAR(date, 'format_model')
71
Modelo de Formato de Data
Element Result
72
Usando os formatos de data
• Dia e Mes:
DD "of" MONTH 12 of OCTOBER
• Decimo Quarto:
ddspth fourteenth
73
Usando a Função TO_CHAR com Data
74
Usando Função TO_CHAR ( Numérica )
TO_CHAR(number, 'format_model')
Element Result
9 Represents a number
75
Usando a Função TO_CHAR com Expressão
Numérica
76
Usando Funções TO_NUMBER e TO_DATE
Convertendo strings em expressão numérica:
TO_NUMBER(char[, 'format_model'])
TO_DATE(char[, 'format_model'])
77
Usando a função TO_CHAR e TO_DATE
com RR formato de data
78
Funções
Funções de uma única linha podem ser alinhadas em
qualquer nível.
F3(F2(F1(col,arg1),arg2),arg3)
Step 1 = Result 1
Step 2 = Result 2
Step 3 = Result 3
79
Funções
SELECT last_name,
UPPER(CONCAT(SUBSTR (LAST_NAME, 1, 8), '_US'))
FROM employees
WHERE department_id = 60;
80
Usando a Função NVL
81
Usando a Função NVL2
82
Usando a Função NULLIF
83
Usando a Função COALESCE
SELECT last_name, employee_id,
COALESCE(TO_CHAR(commission_pct),TO_CHAR(manager_id),
'No commission and no manager')
FROM employees;
84
Função CASE
85
Usando a Função CASE
86
Função DECODE
87
Usando a Função DECODE
88
Usando a Função DECODE
89
Relatórios com Dados Agregados Usando
as Funções de Grupo
90
Quais são Funções de Grupo?
As funções de grupo operam em conjuntos de linhas para dar
um resultado por grupo.
EMPLOYEES
Maximum salary in
EMPLOYEES table
91
Tipos de Funções de Grupo
• AVG
• COUNT
• MAX
• MIN Group
• STDDEV functions
• SUM
• VARIANCE
92
Função de Grupo: Syntax
93
Usando as Funções AVG e SUM
94
Usando a Função MIN e MAX
95
Usando a Função COUNT
SELECT COUNT(commission_pct)
FROM employees
WHERE department_id = 80;
2
96
Usando o DISTINCT
97
Funções de Grupo e Valores Nulos
Função AVG:
SELECT AVG(commission_pct)
1 FROM employees;
98
Criando Grupo de Dados
EMPLOYEES
Average salary in
EMPLOYEES table for
440
each department
950
350
640
10033
99
Criando Grupo de Dados:
Clausula Group by
100
Usando a Clausula Group BY
101
Usando a Clausula GROUP BY
A coluna especificada no GROUP BY não precisa estar na
lista SELECT.
SELECT AVG(salary)
FROM employees
GROUP BY department_id ;
102
O agrupamento por mais de uma coluna
103
Usando o Group by em Múltiplas colunas
104
Resultado Restrito no Grupo
EMPLOYEES
105
Usando a Clausula HAVING
106
Usando a Clausula HAVING
107
Usando GROUP BY
SELECT MAX(AVG(salary))
FROM employees
GROUP BY department_id;
108
Exibindo Dados a partir de Varias Tabelas
109
✓ Tipos de JOINS e syntax
• Natural join:
– Clausula USING
– Clausula ON
• Self-join
• Nonequijoins
• OUTER join:
– LEFT OUTER join
– RIGHT OUTER join
– FULL OUTER join
• Cartesian product
– Cross join
110
Obtendo dados de várias tabelas
EMPLOYEES DEPARTMENTS
111
Natural JOIN
112
Junção pelo Nome das Colunas
Primary key
Foreign key
113
Using
Especifica a coluna da Junção entres as tabelas
114
Clausula ON
115
Aplicação de condições adicionais
na Junção
Use a cláusula AND ou a cláusula WHERE para aplicar
condições adicionais:
Or
SELECT e.employee_id, e.last_name, e.department_id,
d.department_id, d.location_id
FROM employees e JOIN departments d
ON (e.department_id = d.department_id)
WHERE e.manager_id = 149 ;
116
Junção de Tabelas
… …
117
Self-Joins Usando Cláusula ON
118
Nonequijoins
EMPLOYEES JOB_GRADES
119
LEFT OUTER JOIN
120
RIGHT OUTER JOIN
121
FULL OUTER JOIN
122
Gerenciando o Cartesian Product
Cartesian product:
20 x 8 = 160 rows
123
Usando subconsultas para
Resolver Consultas
125
Quem tem um salário maior que o de Abel?
Main query:
Subquery:
SELECT select_list
FROM table
WHERE expr operator
(SELECT select_list
FROM table);
127
Usando a Subquery
128
Tipos de Subqueries
• Single-row subquery
Main query
Subquery returns
ST_CLERK
• Multiple-row subquery
Main query
ST_CLERK
Subquery returns
SA_MAN
129
Subqueries de Linha Simples
Operator Meaning
=
Equal to
>
Greater than
>=
Greater than or equal to
<
Less than
<=
Less than or equal to
<>
Not equal to
130
Executando Subqueries de Linha Simples
131
Usando Funções de Grupo na Subquery
132
A Cláusula Having com Subqueries
133
O que está errado com essa afirmação?
134
Não há linhas retornadas pela consulta interna
135
Subqueries com Multiplas Linhas
Operator Meaning
ANY Must be preceded by =, !=, >, <, <=, >=. Compares a value to each
value in a list or returned by a query. Evaluates to FALSE if the query
returns no rows.
ALL Must be preceded by =, !=, >, <, <=, >=. Compares a value to every
value in a list or returned by a query. Evaluates to TRUE if the query
returns no rows.
136
Usando o operador ANY para Múltiplas linhas
na Subqueries
137
Usando o operador ALL para Múltiplas linhas
na Subqueries
138
Null Values in a Subquery
SELECT emp.last_name
FROM employees emp
WHERE emp.employee_id NOT IN
(SELECT mgr.manager_id
FROM employees mgr);
139
Usando o conjunto de operadores
140
Operadores definidos
A B
Union
A B
Union All
A B
Interse Intersect
A B
Minus
141
UNION Operator
A B
142
Usando o Operador UNION
143
UNION ALL Operator
A B
144
Usando o Operador UNION ALL
145
INTERSECT Operator
A B
146
Usando o Operador INTERSECT
SELECT employee_id, job_id
FROM employees
INTERSECT
SELECT employee_id, job_id
FROM job_history;
147
MINUS Operator
A B
148
Usando o Operador MINUS
SELECT employee_id
FROM employees
MINUS
SELECT employee_id
FROM job_history;
149
Manipulando Dados
150
Lição
151
Adicinando novas linhas na Tabela
New
DEPARTMENTS row
152
INSERT Statement Syntax
• Adiciona novas linhas na tabela usando o comando
INSERT statement:
153
Inserindo novas Linhas
154
Inserindo linhas com o Valor Null
155
Inserindo Valores Especiais
156
Criando Script
157
Copiando Linha para Tabela
158
Alterar dados em uma tabela
EMPLOYEES
159
UPDATE Statement Syntax
160
Atualizando a linha da Tabela
Os valores de uma ou mais linhas específicas são modificadas
se você especificar a cláusula WHERE:
UPDATE employees
SET department_id = 50
WHERE employee_id = 113;
UPDATE copy_emp
SET department_id = 110;
161
Atualizando Duas Colunas com Subquery
UPDATE employees
SET job_id = (SELECT job_id
FROM employees
WHERE employee_id = 205),
salary = (SELECT salary
FROM employees
WHERE employee_id = 205)
WHERE employee_id = 113;
162
Removendo linhas da Tabela
DEPARTMENTS
163
DELETE Statement
164
Deletando linhas da Tabela
• Linhas específicas serão excluídas se você
especificar a cláusula WHERE:
165
Deletando linha da Tabela
166
TRUNCATE Statement
Syntax:
• Exemplo:
TRUNCATE TABLE copy_emp;
167
Demonstrações de controle de transação
explícita
Time COMMIT
Transaction
DELETE
SAVEPOINT A
INSERT
UPDATE
SAVEPOINT B
INSERT
ROLLBACK ROLLBACK ROLLBACK
to SAVEPOINT B to SAVEPOINT A
168
Alterações de volta a um marcador de
Rolamentos
• Crie um marcador na transação atual usando a
instrução SAVEPOINT.
• Reverter a esse marcador usando a instrução
ROLLBACK TO SAVEPOINT.
UPDATE...
SAVEPOINT update_done;
INSERT...
ROLLBACK TO update_done;
169
Committing Data
• Faça as alterações:
• Commit the changes:
COMMIT;
170
FOR UPDATE Cláusula no SELECT Statement
171
Resumo
Function Description
172
Usando Instruções DDL para
Criar e Gerenciar Tabelas
173
Lição
174
Objetos Banco de Dados
Object Description
175
CREATE TABLE Statement
• Voce especifica:
– Nome Tabela
– Nome Coluna e Tipos de Dados
176
Fazendo referência a tabelas de outro usuário
USERA USERB
SELECT * SELECT *
FROM userB.employees; FROM userA.employees;
177
Opção DEFAULT
Especifique um valor padrão para a coluna durante
uma inserção.
178
Criando Tabelas
• Criando Tabelas:
• TABLE dept
CREATE
(deptno NUMBER(2),
dname VARCHAR2(14),
loc VARCHAR2(13),
create_date DATE DEFAULT SYSDATE);
179
Tipos de Dados
180
Tipos de Dados Datetime
181
Incluindo a Constraints
182
Definindo a Constraints
• Syntax:
CREATE TABLE [schema.]table
(column datatype [DEFAULT expr]
[column_constraint],
...
[table_constraint][,...]);
183
Definindo a Constraints
184
NOT NULL Constraint
Garante que os valores nulos não são permitidos para a
coluna:
…
NOT NULL constraint Absence of NOT NULL
(Primary Key enforces NOT NULL constraint (Any row can
NOT NULL constraint.) constraint contain a null value for
this column.)
185
UNIQUE Constraint
UNIQUE constraint
EMPLOYEES
…
INSERT INTO
Allowed
186
UNIQUE Constraint
187
PRIMARY KEY Constraint
PRIMARY KEY
DEPARTMENTS
188
FOREIGN KEY Constraint
DEPARTMENTS
PRIMARY
KEY
…
EMPLOYEES
FOREIGN
KEY
…
INSERT INTO Not allowed
(9 does not exist)
Allowed
189
FOREIGN KEY Constraint
190
CHECK Constraint
191
CREATE TABLE: Exemplo
CREATE TABLE employees
( employee_id NUMBER(6)
CONSTRAINT emp_employee_id PRIMARY KEY
, first_name VARCHAR2(20)
, last_name VARCHAR2(25)
CONSTRAINT emp_last_name_nn NOT NULL
, email VARCHAR2(25)
CONSTRAINT emp_email_nn NOT NULL
CONSTRAINT emp_email_uk UNIQUE
, phone_number VARCHAR2(20)
, hire_date DATE
CONSTRAINT emp_hire_date_nn NOT NULL
, job_id VARCHAR2(10)
CONSTRAINT emp_job_nn NOT NULL
, salary NUMBER(8,2)
CONSTRAINT emp_salary_ck CHECK
(salary>0)
, commission_pct NUMBER(2,2)
, manager_id NUMBER(6)
CONSTRAINT emp_manager_fk REFERENCES
employees (employee_id)
, department_id NUMBER(4)
CONSTRAINT emp_dept_fk REFERENCES
departments (department_id));
192
Violação de Constraints
UPDATE employees
SET department_id = 55
WHERE department_id = 110;
193
Violação de Constraints
Você não pode excluir uma linha que contém uma chave
primária que é usada como uma chave estrangeira em outra
tabela.
194
Criando tabela usando SubConsulta
195
Criando tabela usando SubConsulta
DESCRIBE dept80
196
ALTER TABLE
197
Tabelas Somente leitura
198
Apagando Tabela
199
Criação de objetos de SCHEMA
200
Lição
201
Usando com cláusula WITH CHECK OPTION
202
Negando Operações DML
203
Removendo a View
Você pode remover uma VISÃO sem perder dados porque a VISÃO
é com base nas tabelas subjacentes no banco de dados.
DROP VIEW view;
204
Criando Sequence
205
NEXTVAL e CURRVAL Pseudocoluna
206
Usando a Sequence
207
Modificando Sequence
Mude o valor do incremento, valor máximo, valor mínimo,
opção de ciclo, ou opção de cache:
208
Indexes
Object Description
209
Indexes
Index:
• É um objeto de esquema
• Pode ser utilizada pelo servidor Oracle para acelerar a
recuperação de linhas usando um ponteiro
• Pode reduzir (I / O), utilizando um método de acesso
via rápida para localizar dados rapidamente
• É independente da tabela que ele indexa
• É usado e mantido automaticamente pelo servidor
Oracle
210
Como são criados indices?
211
Criando Index
212
Orientação para Criação de Index
213
Removendo Index
214
Synonyms
Object Description
215
Criando um sinônimo para um objeto
216
Criando e Removando SYNONYM
• Drop a synonym:
DROP SYNONYM d_sum;
217
Usando SQL*Plus
218
SQL e SQL*Plus
SQL statements
Server
SQL*Plus
Query results
Buffer
SQL
scripts
219
220
Login SQL*Plus
sqlplus [username[/password[@database]]]
220
Alterando as configurações de SQL*Plus.
221
SERVEROUTPUT Comando
Use o SET SERVEROUT [PUT] comando para controle
se deseja exibir a saída de procedimentos armazenados
ou blocos PL / SQL no SQL * Plus.
O limite de comprimento da linha DBMS_OUTPUT é
aumentado de 255 bytes para 32,767 bytes.
O tamanho padrão é agora ilimitado.
Recursos não são pré-alocados quando SERVEROUTPUT
está definido.
Porque não há nenhuma penalidade de desempenho,
uso ilimitado, a menos que você quiser conservar a
memória física.
222
Usando o SQL*Plus SPOOL Comando
SPO[OL] [file_name[.ext] [CRE[ATE] | REP[LACE] | APP[END]] |
OFF | OUT]
223
Executando instruções DML e DDL
Operações com o GUI SQL Developer
224
Objetivos
225
Objetos de Banco de Dados de Navegação
• Criar um objeto de conexão de banco de dados.
• Use o Navegador Conexões para:
Navegue através de vários objetos em um esquema de
banco de dados.
Reveja as definições de objetos.
226
Criando o Objeto Schema
227
Criando Nova Tabela: Exemplo
Click + to add
column. Click x to
remove column.
Specify the column name,
data type, DEFAULT value,
and NULL constraint here.
228
Definindo Constraints
229
230
Modificando a Tabela
1 2
3 4
230
231
Criando Sequence
231
232
Definição de Preferência
232
AVALIAÇÃO FINAL DE TREINAMENTO
Nome: Data:
E-mail: Período:
Curso: Instrutor:
Avalie o treinamento com as notas de 1 a 3
1 - REGULAR 2 - BOM 3 - EXCELENTE
ATENDIMENTO COMERCIAL / LOGÍSTICA
3 2 1
Atendimento Inscrição
Orientação
Confirmação de Turma
RECEPÇÃO
3 2 1
Atendimento
Clareza nas Informações
INSTRUTOR
3 2 1
Cumprimento Horário
Domínio do Conteúdo
Clareza nas Informações
Conhecimento Técnico
Didática
Relacionamento com alunos
CONTEÚDO DO TREINAMENTO / MATERIAL DIDÁTICO
3 2 1
Conteúdo Programático do Treinamento
Qualidade do Contéudo
Conteúdo x Carga Horária
INFRAESTRUTURA
3 2 1
Limpeza
Iluminação
Equipamentos
Laboratórios
Audio / Video (Online)
COMENTÁRIOS