Mind map
SQL
Map content
SQL
DDL
- CREATE TABLE
- nome da relação (
- Atributo
- Domínio
- PRIMARY KEY
- FOREIGN KEY
- REFERENCES
- CREATE TABLE
DML
- INSERT INTO tablea [(campo 1, campo 2....)] VALUES (valor_campo1, valor_campo2)
- DESCRIBE tabela
- UPDATE tabela SET campo1 = valor_campo1, campo2 = valor_campo2... [WHERE condição]
- DELETE FROM tabela [WHERE condição]
- SELECT * FROM DUAL
- WHERE
- IS NULL
- =,<>, >, <, <=, >=
- ANY( , , )
- ALL( , , )
- SOME?
- Like '_%'
- ESCAPE
- IN
- BETWEEN 1 AND 3
- AND, OR, NOT
- IS NAN
- INFINITE
- Pseudocolunas
- ROWID
- ROWNUM
- Cálculos
- + - * /
- TO_DATE('data') + numero
- TO_DATE('data_1') - TO_DATE('data_2') = numero de dias entre
- Campo + numero
- Apelidos de Coluna
- " "
- AS " "
- Concatenação
- ||
- NVL
- NVL(campo 1,'Mensagem se for nulo')
- SELECT NVL(telefone,'não informado') FROM tb_clientes
- NVL(campo 1,'Mensagem se for nulo')
- NULLIF
- NULLIF(expressão1,expressão2)
- SELECT nome, LENGTH(nome) "expressão1", sobrenome, LENGTH(sobrenome) "expressão2", NULLIF(LENGTH(nome), LENGTH(sobrenome)) "resultado" FROM tb_funcionarios;
- NULLIF(expressão1,expressão2)
- COALESCE
- COALESCE(expressão1, expressão2, ... expressão n)
- SELECT sobrenome, id_empregado, percentual_comissao, id_gerente, COALESCE(TO_CHAR(percentual_comissao), TO_CHAR(id_gerente), 'Nenhuma comissão e nenhum gerente') FROM tb_empregado;
- COALESCE(expressão1, expressão2, ... expressão n)
- DISTINCT
- ORDER BY
- ORDER BY campo1, [campo2]
- DESC
- ASC
- Pode usar nº 1, 2, 3
- ORDER BY campo1, [campo2]
- Duas Tabelas
- JOIN/86
- SELECT tb_produtos.nm_produto, tb_tipos_produtos.nm_tipo_produto FROM tb_produtos, tb_tipos_produtos WHERE tb_produtos.id_tipo_produto = tb_tipos_produtos.id_tipo_produto AND tb_produtos.id_produto = 3;
- Pode usar apelidos para as tabelas.
- Equijoin =
- Pode usar
- <>,<,>,<=,>=,LIKE,IN,BETWEEN
- Externa (+)
- O (+) tem que ir no lado oposto que leva o nome
- Os nulls ficam do lado do (+)
- O (+) tem que ir no lado oposto que leva o nome
- SELECT tb_produtos.nm_produto, tb_tipos_produtos.nm_tipo_produto FROM tb_produtos, tb_tipos_produtos WHERE tb_produtos.id_tipo_produto = tb_tipos_produtos.id_tipo_produto AND tb_produtos.id_produto = 3;
- JOIN/92
- ON
- SELECT p.nm_produto AS PRODUTO, tp.nm_tipo_produto AS TIPO FROM tb_produtos p INNER JOIN tb_tipos_produtos tp ON (p.id_tipo_produto = tp.id_tipo_produto) ORDER BY p.nm_produto;
- USING
- INNER JOIN tb_tipos_produtos USING (id_tipo_produto)
- Colunas com mesmo nome e equijoin
- É possível usar mais de uma coluna seguindo a regra USING (Coluna1, Coluna2)
- INNER JOIN tb_tipos_produtos USING (id_tipo_produto)
- LEFT, RIGHT, FULL OUTER
- CROSS
- Força um produto cartesiano
- ON
- JOIN/86
- WHERE
- Variáveis
- Temporárias
- &nome
- &&nome evita repetição
- Definitivas
- DEFINE
- UNDEFINE
- ACCEPT
- nome da variavel
- [tipo]
- CHAR, NUMBER, DATE
- [formato]
- A15
- 9999
- DD-MM-YYYY
- [prompt]
- [hide]
- Temporárias
- Funções
- Caracteres
- ASCII('a')
- CHR(97)
- CONCAT(x,y)
- INITCAP(x)
- INSTR(nm_produto,'e',1,2)
- LENGTH(x)
- LOWER(x)
- UPPER(x)
- LPAD(preco,8,'*+')
- RPAD(nm_produto,30,'-')
- LTRIM(' Olá pessoal tudo joia?')
- RTRIM('Oi, tudo bem!abcabc','abc')
- TRIM('0' FROM '000Treinamento em Oracle!00000')
- NVL(x,valor)
- NVL2(telefone,'existente','inexistente')
- REPLACE(nm_produto, 'Science','Physics')
- WHERE SOUNDEX(sobrenome) = SOUNDEX('whyte');
- SUBSTR(nm_produto,2,[7])
- Numéricas
- ABS(x)
- CEIL(x)
- FLOOR(x)
- MOD(x,y)
- POWER(x,y)
- ROUND(x,[y])
- SIGN(x)
- SQRT(x)
- TRUNC(x,[y])
- Conversão
- TO_CHAR(x,[fromat])
- 9 0 . , $ B C D EEEE FM G L MI PR RN TM S U V #
- TO_NUMBER(x,[format])
- CAST(x AS tipo)
- TO_CHAR(x,[fromat])
- Data
- DATE
- TIMESTAMP
- SYSDATE
- Parâmetros 113/120
- TO_DATE(x, [formato])
- RR
- ADD_MONTHS('Jul 01, 2017', 13)
- Pode ser negativo
- LAST_DAY(x)
- MONTHS_BETWEEN(x,y)
- NEXT_DAY(x, dia da semana em numero)
- ROUND(x,[unidade])
- EXTRACT(x FROM y)
- YEAR
- MONTH
- DAY
- HOUR
- MINUTE
- SECOND
- INTERVAL
- Regular
- REGEXP_LIKE(x,padrão,[opção_correspondência])
- c i n m
- ^196[5-8]$
- REGEXP_INSTR(x, padrão, [início], [ocorrência], [opção_de_retorno], [opção de correspondência])
- REGEXP_REPLACE(x, padrão, [string substituto], [inicio], [ocorrência], [opção_de_correspondência])
- REGEXP_SUBSTR(x, padrão, [inicio], [ocorrência], [opção_de_correspondência])
- REGEXP_COUNT(x, padrão, [inicio], [opção_de_correspondência])
- REGEXP_LIKE(x,padrão,[opção_correspondência])
- Agregadas
- AVG(x)
- COUNT(x)
- Evitar uso de *
- MAX(x)
- MIN(x)
- STDDEV(x)
- SUM(x)
- VARIANCE(x)
- Caracteres
- GROUP BY
- HAVING
- ROLLUP
- GROUPING
- CUBE
- Subconsultas
- Uma linha
- WHERE
- HAVING
- FROM
- Multiplas Linhas
- IN
- ANY
- ALL
- Correlacionadas
- EXISTS
- NOT
- EXISTS
- UPDATE e DELETE
- Uma linha
- Consultas Avançadas
- UNION ALL
- UNION
- INTERSECT
- MINUS
- TRANSLATE(x, da_string, para_string)
- DECODE(valor, valor_pesquisa, resultado, valor_padrão)
- CASE END
- WHEN x THEN y
- ELSE
- WHEN x THEN y
- START WITH
- CONNECT BY PRIOR
- INSERT INTO
- VALUES
- SELECT
- DEFAULT
- UPDATE
- SET
- MERGE
- WHEN MATCHED THEN
- WHEN NOT MATCHED THEN
Transações
- COMMIT
- FLASHBACK
- Data/Hora
- EXECUTE DBMS_FLASHBACK.ENABLE_AT_TIME(SYSDATE - 10/1440)
- EXECUTE DBMS_FLASHBACK.DISABLE();
- Número de Alteração de Sistema
- EXECUTE DBMS_FLASHBACK.ENABLE_AT_SYSTEM_CHANGE_NUMBER(:scn_atual);
- TO BEFORE
- Data/Hora
- FLASHBACK
- ROLLBACK
- SAVEPOINT
- ACID
- Atomicidade
- Consistência
- Isolamento
- READ UNCOMMITTED
- READ COMMITTED
- REPEATABLE READ
- SERIALIZABLE
- Durabilidade
- COMMIT
Information
- Description
- Concurso Público Tecnologia da Informação Mind Map on SQL, created by Morte Mors on 11/07/2018.
- Created by
- Morte Mors
- Views
- 0
- Rating