Você está na página 1de 16

1

2
O COMANDO SELECT
SELECT [DISTINCT] {*, column [alias],...}
FROM table;
SELECT identifica as colunas
FROM identifica as tabelas
3
SELECIONANDO LINHAS

SQL> SELECT *
2 FROM depto;

SQL> SELECT depto_num, depto_loc
2 FROM depto;

SQL> SELECT enome, sal, sal+300
2 FROM emp;

SQL> SELECT enome, sal, 12*sal+100
2 FROM emp;
4
DEFININDO ALIAS PARA COLUNAS














SQL> SELECT enome AS nome, sal AS salario
2 FROM emp;
NOME SALARIO
------------- ---------
...
SQL> SELECT enome "Nome",
2 sal*12 Salario Anual"
3 FROM emp;




Nome Salario Anual
------------- -------------
...
5






ELIMINANDO LINHAS DUPLICADAS
SQL> SELECT DISTINCT depto_num
2 FROM emp;
DEPTO_NUM
---------
10
20
30

DISTINCT
7








UTILIZANDO A CLUSULA WHERE
SQL> SELECT enome, cargo, depto_num
2 FROM emp
3 WHERE cargo='CAIXA';
ENOME CARGO DEPTO_NUM
---------- --------- ---------
RONALDO CAIXA 30
MANUEL CAIXA 20
PAULO CAIXA 20
LUCIANO CAIXA 10
8
OPERADORES DE COMPARAO
Operador Significado
= Igual
> Maior que
>= Maior ou igual a
< Menor
<= Menor ou igual a
<> diferente
9
OUTROS OPERADORES
Operador Significado
BETWEEN
AND
Entre dois valores (inclusive)
IN (lista) Satisfaz uma lista de valores
LIKE Satisfaz um padro de
caracteres
IS NULL um valor nulo (null)
10




OPERADOR BETWEEN
ENOME SAL
---------- ---------
MARIA 1250
SERGIO 1500
MATHEUS 1250
PAULO 1100
LUCIANO 1300

SQL> SELECT enome, sal
2 FROM emp
3 WHERE sal BETWEEN 1000 AND 1500;
limite
inferior
limite
superior
11




OPERADOR IN
SQL> SELECT enum, enome, sal, ger
2 FROM emp
3 WHERE ger IN (7902, 7566, 7788);
ENUM ENOME SAL GER
--------- ---------- --------- ---------
7902 JOSE 3000 7566
7369 MANUEL 800 7902
7788 FABIO 3000 7566
7876 PAULO 1100 7788
12


SQL> SELECT enome
2 FROM emp
3 WHERE enome LIKE M%';
OPERADOR LIKE
Utilize o operador LIKE para realizar pesquisas por padres (wildcards).
% substitui zero ou mais caracteres
_ substitui um nico caracter

13




SQL> SELECT enome, ger
2 FROM emp
3 WHERE ger IS NULL;
ENOME GER
---------- ---------
CARLOS
OPERADOR IS NULL
Testando valores nulos (null)
14
OPERADORES LGICOS
Operador Significado
AND Retorna TRUE se a condio de ambos os
componentes for TRUE
OR Retorna TRUE se a condio de um dos
componentes for TRUE
NOT Retorna TRUE se a condio for FALSE (vice-
versa




OPERADOR NOT
SQL> SELECT enome, cargo
2 FROM emp
3 WHERE cargo NOT IN('CAIXA','GERENTE','ANALISTA');
ENOME CARGO
---------- ---------
CARLOS PRESIDENTE
MARIA VENDEDOR
CELSO VENDEDOR
SERGIO VENDEDOR
MATHEUS VENDEDOR




CLUSULA ORDER BY
SQL> SELECT enome, cargo, depto_num, dtinicio
2 FROM emp
3 ORDER BY dtinicio DESC;
ENOME CARGO DEPTO_NUM DTINICIO
---------- --------- --------- ---------
PAULO CAIXA 20 12-JAN-83
FABIO ANALISTA 20 09-DEC-82
LUCIANO CAIXA 10 23-JAN-82
RONALDO CAIXA 30 03-DEC-81
JOSE ANALISTA 20 03-DEC-81
CARLOS PRESIDENTE 10 17-NOV-81
MARIA VENDEDOR 30 28-SEP-81
...
14 rows selected.