Escolar Documentos
Profissional Documentos
Cultura Documentos
Professor
George Hamilton
1
Conceitos bsicos em SQL
Linguagem SQL
A linguagem SQL prpria para a
realizao de operaes como recuperar
dados (consulta), atualizar ou eliminar
dados, alterar colunas de tabelas, criar e
eliminar tabelas e qualquer outras
modificaes que se deseje fazer em um
banco de dados relacional.
Prof. George Hamilton
Comandos da SQL
Os comandos SQL podem ser divididos em
quatro grupos:
1.
2.
3.
4.
Seleo/Consulta;
Definio de dados;
Manipulao de dados;
Controle de dados.
O Comando SELECT
Recupera informaes do banco de dados;
Utilizado para realizar consultas.
PROJEO
UNIO
INTERSEO
JUNO
a1 b1
a2 b1
a3 b2
b1 c1
b2 c2
b3 c3
a1 b1 c1
a2 b1 c1
a3 b2 c2
DIFERENA
DEPTNO
--------10
20
30
40
DNAME
-------------ACCOUNTING
RESEARCHING
SALES
OPERATIONS
LOC
--------------NEW YORK
DALLAS
CHICAGO
BOSTON
DEPTNO
--------10
20
30
40
DNAME
-------------ACCOUNTING
RESEARCHING
SALES
OPERATIONS
Expresses Aritmticas
possvel criar expresses sobre os campos
do tipo numrico e data utilizando os
operadores aritmticos.
Operador
Descrio
Soma
Subtrao
Multiplicao
Diviso
14 rows selected.
14 rows selected.
Utilizando Parnteses
SQL> SELECT ename, sal, 12* (sal+10)
FROM emp;
ENAME
SAL 12*(SAL+10)
--------------- --------- ----------KING
5000
60120
BLAKE
2850
34320
CLARK
2450
29520
ALLEN
1600
19320
WARD
1250
15120
14 rows selected.
Valores Nulos
Um valor nulo um atributo sem um valor.
Quando um valor nulo pode ocorrer?
O valor no conhecido
O valor ainda no foi preenchido
O atributo no se aplica
Valores Nulos
SQL> SELECT ename, job, comm
FROM emp;
ENAME
JOB
COMM
--------------- --------------- --------KING
PRESIDENT
BLAKE
MANAGER
CLARK
MANAGER
ALLEN
SALESMAN
300
WARD
SALESMAN
50
MARTIN
SALESMAN
1400
TURNER
SALESMAN
0
MILLER
CLERK
14 rows selected.
14 rows selected.
14 rows selected.
14 rows selected.
Operador de Concatenao
Concatena colunas ou cadeias de caracteres
a colunas;
Representado por duas barras verticais : ||
Cria uma uma cadeia de caracteres como
coluna resultante.
14 rows selected.
Literal
Literal um caracter, expresso ou nmero
includo no SELECT
Literais do tipo data e caracter devem
aparecer entre aspas simples
A cadeia de caracteres repetida para cada
linha retornada pelo comando de seleo
Usando Literais
SQL> SELECT ename|| is a ||job as Funcionarios
FROM emp;
Funcionarios
-----------------------------------KING is a PRESIDENT
BLAKE is a MANAGER
CLARK is a MANAGER
ALLEN is a SALESMAN
WARD is a SALESMAN
MARTIN is a SALESMAN
14 rows selected.
Linhas duplicadas
O resultado padro das consultas inclui todas as linhas,
inclusive as duplicadas.
SQL> SELECT deptno
FROM emp;
DEPTNO
--------10
30
10
30
30
30
30
10
14 rows selected.
Name
Null?
------------------- -------EMPNO
NOT NULL
ENAME
JOB
MGR
HIREDATE
SAL
COMM
DEPTNO
Type
-------------NUMBER(4)
VARCHAR2(15)
VARCHAR2(15)
NUMBER(4)
DATE
NUMBER(7,2)
NUMBER(7,2)
NUMBER(2)
2
Selees com Critrios
Ordenao
ENAME
--------------ALLEN
WARD
MARTIN
TURNER
JOB
--------------SALESMAN
SALESMAN
SALESMAN
SALESMAN
Clusula WHERE
SQL> SELECT ename, job, deptno
FROM emp
WHERE job=PRESIDENT;
ENAME
JOB
DEPTNO
--------------- --------------- --------KING
PRESIDENT
10
Operadores de Comparao
Operador
Descrio
Igual a
>
Maior que
>=
Maior ou igual a
<
Menor que
<=
Menor ou igual a
<>
Diferente de
ENAME
SAL
COMM
--------------- --------- --------MARTIN
1250
1400
Descrio
Valores entre um valor mnimo
e um mximo (inclusive)
valores que esto na lista de valores
especificados pelo operador IN
LIKE
IS NULL
Usando o Operador IN
SQL> SELECT empno, ename, mgr
FROM emp
WHERE mgr IN (7902,7698,7782)
EMPNO
--------7499
7521
7654
7844
7934
7900
7369
ENAME
MGR
--------------- --------ALLEN
7698
WARD
7698
MARTIN
7698
TURNER
7698
MILLER
7782
JAMES
7698
SMITH
7902
7 rows selected.
ENAME
--------------WARD
ENAME
MGR
--------------- --------KING
Operadores Lgicos
Operador
AND
Descrio
Retorna VERDADEIRO se as duas
condies forem satisfeitas
OR
NOT
ENAME
--------------ALLEN
WARD
MARTIN
TURNER
JOB
SAL
--------------- --------SALESMAN
1600
SALESMAN
1250
SALESMAN
1250
SALESMAN
1500
Usando o Operador OR
SQL> SELECT ename, job, sal
FROM emp
WHERE sal>=2000 or job=MANAGER;
ENAME
--------------KING
BLAKE
CLARK
JONES
SCOTT
FORD
6 rows selected.
JOB
SAL
--------------- --------PRESIDENT
5000
MANAGER
2850
MANAGER
2450
MANAGER
2975
ANALYST
3000
ANALYST
3000
JOB
--------------PRESIDENT
CLERK
CLERK
ANALYST
ANALYST
CLERK
CLERK
ENAME
--------------ALLEN
WARD
MARTIN
TURNER
JOB
--------------SALESMAN
SALESMAN
SALESMAN
SALESMAN
HIREDATE
SAL
--------- --------15-AUG-83
1600
26-MAR-83
1250
05-DEC-83
1250
04-JUN-84
1500
ORDER BY
Ordena as linhas retornadas pela consulta;
ASC: ordem crescente
DESC: ordem decrescente
14 rows selected.
HIREDATE
--------26-MAR-83
13-JUN-83
15-AUG-83
31-OCT-83
21-NOV-83
05-DEC-83
05-DEC-83
05-MAR-84
14 rows selected.
HIREDATE
--------23-JUL-84
09-JUL-84
11-JUN-84
04-JUN-84
04-JUN-84
14-MAY-84
05-MAR-84
05-DEC-83
14 rows selected.
14 rows selected.