COMANDO INSERT
INSERT INTO TABELA (COLUNAS)
VALUES (VALORES);
O USO DAS COLUNAS É OPCIONAL, E DEVE OBEDECER A ORDEM
DAS COLUNAS NA TABELA.
UMA LINHA INSERIDA POR VEZ(ORACLE).
VALORES CONTENDO CARACTER OU DATA DEVEM ESTAR COM
ASPAS SIMPLES.
SE VOCE OMITIR COLUNAS NO INSERT , UM NULL SERA INSERIDO
NA COLUNA OMITIDA
COMANDO INSERT
Fornecedor (Fcodigo, nome, status, data_insercao)
INSERT INTO FORNECEDOR VALUES (1, ´ALFA´,´ATIVO´,´01/01/2017´)
INSERT INTO FORNECEDOR(fcodigo,nome, status, data_insercao)
VALUES (1, ´ALFA´,´ATIVO´,´01/01/2017´);
INSERT INTO FORNECEDOR (fcodigo,nome) VALUES (1, ´ALFA´)
Valores nulos para as colunas omitidas
INSERT INTO FORNECEDOR(status, data_inserção, fcodigo,nome)
VALUES (´ATIVO´,´01/01/2017´, 1, ´ALFA´);
A ordem das colunas determina a ordem dos valores
COMANDO SELECT
SELECT COLUNAS
FROM NOME_TABELA;
PODE SER * PARA TODAS AS COLUNAS
COLUNAS SEPARADAS POR VIRGULA.
TERMINE O SELECT COM ´;´
CASE INSENSITIVE.
select fcodigo, status from fornecedor;
PODE FAZER ARITMÉTICA COM COLUNAS
EX.: SELECT SALARIO *1.1
FROM EMPREGADOS;
QUALQUER OPERACAO ARITMÉTICA COM NULL RESULTA EM NULL !
COMANDO SELECT
APELIDOS(ALIAS) PARA COLUNAS
◦ RENOMEIA UM COLUNA APENAS NO RESULTADO DA QUERY. PODE TER O AS ENTRE A
COLUNA E O ALIAS. USAR ASPAS DUPLAS SE QUISER COLOCAR ALIAS COM ESPACOS.
◦ SELECT SALARIO*1.1 AS NOVO_SAL FROM EMPREGADOS;
PODE-SE USAR O OPERADOR DE CONCATENACAO PARA JUNTAR DUAS
COLUNAS TEXTO E/OU UMA STRING:
SELECT FIRST_NAME||’ ‘ ||LAST_NAME AS NOME
FROM EMPREGADOS;
SELECT ‘O EMPREGADO ’||FIRST_NAME||’ ‘ ||LAST_NAME||’ FOI DESPEDIDO’
FROM EMPREGADOS;
SELECT FIRST_NAME||LAST_NAME||’ POSSUI O SALARIO DE ’|| SALARY
FROM EMPREGADOS;
COMANDO SELECT
CLAUSULA DISTINCT
◦ REMOVE DUPLICIDADES NO RESULTADO DA CONSULTA
SELECT DEPARTMENT_ID
FROM EMPREGADOS; RETORNA TODAS AS LINHAS DA COLUNA
SELECT DISTINCT DEPARTMENT_ID
FROM EMPREGADOS; RETORNA TODAS AS LINHAS DA COLUNA
SEM DUPLICIDADES
SELECT DISTINCT DEPARTMENT_ID,JOB_ID
FROM EMPREGADOS;
COMANDO SELECT
CLAUSULA WHERE
◦ FUNCIONA COMO UM FILTRO DE LINHAS POR MEIO DE UMA
CONDIÇÃO AOS VALORES DOS REGISTROS
SELECT DEPARTMENT
FROM EMPREGADOS
WHERE DEPARTMENT_ID = 90;
NAO PODE USAR ALIAS NA CLÁUSULA WHERE
CARACTERES DEVEM ESTAR COM ASPAS SIMPLES
WHERE LAST_NAME = ‘FRANK’
DATA EM ASPAS – COM O PADRAO EM DD/MM/YY
WHERE HIRE_DATE = ‘01/01/12’ *MELHOR FAZER CONVERSÃO EXPLICIT
COMANDO SELECT
OPERADORES DE COMPARACAO NA CLAUSULA WHERE:
◦ =, >, < , >=, <= , <> , BETWEEN X AND Y, IN (CONJUNTO DE
VALORES) , LIKE , IS NULL
SELECT DEPARTMENT, NOME
FROM EMPREGADOS
WHERE SALARIO >= 9000;
SELECT DEPARTMENT, NOME
FROM EMPREGADOS
WHERE SALARIO BETWEEN 1000 AND 3000; * INCLUSIVE
SELECT DEPARTMENT, NOME
FROM EMPREGADOS
WHERE DEPARTMENT_ID IN (1000, 3000); * VALORES DISCRETOS
COMANDO SELECT
LIKE: CASE SENSITIVE
◦ % - ZERO OU MUITOS CARACTERES.
◦ _ DENOTA UM CARACTER
WHERE FIRST_NAME LIKE ‘S%’
PODE-SE COMBINAR OS DOIS
WHERE LAST_NAME LIKE ‘_o%’ -- TODO NOME COM A SEGUNDA
LETRA = o
USE IS NULL PARA VERIFICAR SE DETERMINADO VALOR DA
COLUNA É NULO
SELECT DEPARTMENT, NOME
FROM EMPREGADOS
WHERE SALARIO IS NULL;
COMANDO SELECT
PODE-SE UNIR CONDIÇÕES NO WHERE COM
OPERADORES LÓGICOS AND, OR , NOT
SELECT DEPARTMENT, NOME
FROM EMPREGADOS
WHERE SALARIO >= 9000 AND DEPTO_ID = 10;
SELECT DEPARTMENT, NOME
FROM EMPREGADOS
WHERE SALARIO >= 9000 OR DAT_INI BETWEEN ´01/01/2015´ AND
´01/01/2016´ ;
SELECT DEPARTMENT, NOME
FROM EMPREGADOS
WHERE SALARIO IS NULL OR DEPTO_ID <> 10;
COMANDO SELECT
O OPERADOR NOT FAZ A NEGAÇÃO DE ALGUNS
OPERADORES DE COMPARAÇÃO:
◦ NOT IN
◦ NOT BETWEEN
◦ IS NOT NULL
◦ NOT LIKE
SELECT DEPARTMENT, NOME
FROM EMPREGADOS
WHERE SALARIO IS NOT NULL ;
SELECT DEPARTMENT, NOME
FROM EMPREGADOS
WHERE SALARIO NOT IN (5000,7000,9000) AND DAT_INI NOT BETWEEN
´01/01/2015´ AND ´01/01/2016´ ;
COMANDO SELECT
CLÁUSULA ORDER BY
◦ ORDENA OS RESULTADOS DA CONSULTA
◦ ASC PARA ORDEM CRESCENTE , DESC PARA ORDEM DESCRESCENTE, DEFAULT É ASC
◦ SEMPRE NO FINAL DO COMANDO SELECT
◦ PODE-SE USAR O NOME DA COLUNA, ALIAS OU POSIÇÃO NO SELECT
SELECT DEPARTMENT, NOME
FROM EMPREGADOS
WHERE SALARIO IS NOT NULL
ORDER BY NOME DESC;
SELECT DEPARTMENT, NOME
FROM EMPREGADOS
WHERE SALARIO IS NOT NULL
ORDER BY 1, 2;
SELECT DEPARTMENT, NOME, SALARIO
FROM EMPREGADOS
WHERE SALARIO IS NOT NULL
ORDER BY SALARIO DESC, NOME ASC;