Sei sulla pagina 1di 5

SQL – RESUMO – BANCO DE DADOS I - UERJ

Tipos de dados

NUMERIC(<N>) //N é tamanho do numero

NUMERIC(<N>,<M>) //N é tamanho do numero e M é casas decimais

VARCHAR(<N>) //N é tamanho máximo de caracteres

DATE //É valor tipo data exemplo 01-10-2006

Criar Tabela

CREATE TABLE tabelaA

colunaA1 <tipo> NOT NULL PRIMARY KEY, //Cria chave primária

colunaA2 <tipo> NOT NULL,

colunaA3 <tipo> NOT NULL

);

//NOT NULL significa que essa coluna não pode ser inserido valores vazios

Chave Primaria e Estrangeira

CREATE TABLE tabela_a

colunaB1 <tipo> NOT NULL PRIMARY KEY,

colunaB2 <tipo> NOT NULL REFERENCES tabelaA(colunaA1), //Cria chave primária secundáia

colunaB3 <tipo> NOT NULL

Chave Primaria composta

CREATE TABLE tabelaC

colunaC1 <tipo> NOT NULL REFERENCES tabelaA(colunaA1),

colunaC2 <tipo> NOT NULL REFERENCES tabelaB(colunaB1),

colunaC3 <tipo> NOT NULL

CONSTRAINT tabelaC_PK PRIMARY KEY (colunaC1,colunaC2)

INSERT INTO, VALUES – Inserir tuplas na Tabela

INSERT INTO tabela ( coluna1, coluna2, coluna3 )

VALUES (valorA, valorB, valorC); // insere tupla com valores na tabela

* - Visualizar tuplas da Tabela

SELECT * FROM tabela; // Visualisa todas as tuplas da tabela

SELECT coluna FROM tabela; // Visualisa somente os dados de uma coluna

SELECT coluna1,coluna2 FROM tabela; // Pode visualisa mais de uma coluna selecionada

SELECT * FROM tabelaA, tabelaB; // Junta duas tabelas (produto cartesiano)


WHERE - Visualizar Dados na tabela sob uma condição lógica

Obs.: Operadores Lógicos: = ; < ; > ; <=, >= ; <> ; IS NOT

SELECT * FROM tabela WHERE coluna <operador> <valor>; //valor = numeros ou palavras

SELECT * FROM tabela WHERE coluna2 <operador> <numero> AND coluna3 <operador> “nome”;

SELECT * FROM tabela WHERE coluna IS NULL; //tuplas com valores não vazio

Juntar tabela

SELECT * FROM tabelaA, tabelaB; //vizualizar duas tabelas juntas (produto cartesiano)
SELECT * FROM tabelaA a, tabelaB b WHERE a.colunaA1 = b.colunaB1;

//vizualizar duas tabelas juntas que possuem chave primaria da outra

LIKE – Padrão de Caracteres

SELECT * FROM tabela WHERE coluna LIKE <nome>%; //Palavras que começa com alguma nome

SELECT * FROM tabela WHERE coluna LIKE %<nome>; //Palavras que terminam com alguma nome

SELECT * FROM tabela WHERE coluna LIKE %<nome>%; //Palavras que tem alguma nome no meio

BEETWEN – Verificar se o dado está no Intervalo

SELECT * FROM tabela WHERE coluna BEETWEN <numero1> AND <nomero2>;

IN / NOT IN – Verificar se o dado pertence ou não ao conjunto

SELECT * FROM tabela WHERE coluna IN(<num1>,<num2>,<num3>);

SELECT * FROM tabela WHERE coluna NOT IN(<num1>,<num2>,<num3>);

BY ORDER – Visualizar Dados Ornados

SELECT * FROM tabela BY ORDER coluna; // Exibe toda tabela ordanada em função de uma coluna

SELECT coluna FROM tabela BY ORDER coluna; // Exibe uma coluna ordenada

ALTER TABLE – Alterar colunas na tabela

ALTER TABLE tabela ADD coluna <tipo>; // Adiciona coluna a tabela

ALTER TABLE tabela DROP coluna; // Remove coluna da tabela

ALTER TABLE tabela ALTER COLUMN coluna DROP NOT NULL; // Permite a coluna receber valores vazios

ALTER TABLE tabela ALTER COLUMN coluna DROP NOT; // Permite a coluna receber valores não vazios

ALTER TABLE tabela ALTER COLUMN coluna TYPE <tipo>; // Altera o tipo da coluna

ALTER TABLE tabela ALTER COLUMN coluna1 TO coluna2; // Altera o nome da coluna

// A coluna não recebe valores que satisfazem essa condição lógica

ALTER TABLE tabela CONTRAINS CK_coluna CHECK (coluna <operador> <valor>);

Modificar atributos

// A coluna recebe um novo valor se a condição for satisfeita

UPDATE tabela SET coluna2 = <novo valor> WHERE caluna1 = <valor>;

Apaga dados da coluna

DELETE coluna FROM tabela; // Somente a apaga os dados da coluna

Apaga todos os dados da tabela

TRUNCATE TABLE tabela; // Mantem a tabela e apaga todos as tuplas

Elimina a tabela

DROP TABLE tabela; // Remove todas as tuplas da tabela


Criar e Remover Indice

CREATE INDEX IN_coluna ON tabela(coluna); // Cria indice

DROP INDEX IN_coluna // Remove indice

Concatenar

SELECT CONCAT(coluna1,coluna2) AS novoNome FROM tabela;

Exibir valores minimo

SELECT MIN(coluna) FROM tabela;

Exibir valores máximo

SELECT MAX(coluna) FROM tabela ;

Calcular a média

SELECT AVG(coluna) FROM tabela ;

Arredondamento Modo 1

SELECT ROUND(<valor>,<M>) FROM tabela ; M = casas decimais

Subconsulta (Exemplos)

SELECT * FROM tabela WHERE coluna > (SELECT AVG(coluna) FROM tabela);

SELECT * FROM tabela WHERE coluna = (SELECT MIN(coluna) FROM tabela);

Arredondamento Modo 2

SELECT TO_CHAR(<valor>,’99999.999’) FROM tabela ;

Soma de todos os valores da coluna

SELECT SUM(coluna) FROM tabela ;

Valores distintos

SELECT DISTINCT(coluna) FROM tabela;

Conta a quantidade de tuplas da tabela

SELECT COUNT(*) FROM tabela;

Conjunto de valores distintos

SELECT coluna FROM tabela GROUP BY coluna; //Exibe coluna com elemento distintos

//Exibe o elementos e a quantidade de vezes que esse elemento se repete na coluna

SELECT coluna, COUNT(*) FROM tabela GROUP BY coluna;

Conjunto de valores distinto com condicionamento lógico

SELECT coluna, COUNT(*) FROM tabela GROUP BY coluna HAVING COUNT(*) <operador> <numero>;

Verificar se o elemento pode estar em outra tabela

//Seleciona elementos na tabelaA que estão na tabelaB

SELECT * FROM tabelaA a WHERE EXITIS (SELECT * FROM tabelaB b WHERE a.colunaA1 = b.colunaB1);

//Seleciona elementos na tabelaA que não estão na tabelaB

SELECT * FROM tabelaA a WHERE NOT EXITIS (SELECT * FROM tabelaB b WHERE a.colunaA1 = b.colunaB1);

Intercesão

//Retorna valores comuns entre duas colunas

SELECT colunaA FROM tabelaA INTERSECT SELECT colunaB FROM tabelaB;


União

//Retorna valores unidos entre duas colunas e sem repetição

SELECT colunaA FROM tabelaA UNION SELECT colunaB FROM tabelaB;

Exceção

//Retorna valores da comum que não estão em outra coluna

SELECT * FROM tabelaA EXCEPT SELECT colunaB FROM tabelaB;


Insersão de tuplas na condicional lógica

INSERT INTO tabela (coluna1,coluna2)

VALUES (SELECT dado1 + <num1>, dado2 + <num2> FROM tabela WHERE coluna1 <operador> <num3> )

Desfazer inserção de tuplas

//Desfaz todas as inserções anteriores a ROLLBACK

BEGIN;
INSERT INTO tabela
VALUES (dado1,dado2,dado3)
ROLLBACK;
END;
SELECT * FROM tabela;

Ponto de transição

//Desfaz todas as inserção anteriores a ROLLBACK e as anteriores a SAVEPOINT não são desfeitas

BEGIN;
INSERT INTO tabela VALUES (dado1,dado2,dado3)
SAVEPOINT tabela_UPDATE;
INSERT INTO tabela VALUES (dadoA,dadoB,dadoC)
ROLLBACK TO tabela_UPDATE;
END;
SELECT * FROM tabela;

COMMIT

//Finalina as inserções da tabela

BEGIN;
INSERT INTO tabela
VALUES (dado1,dado2,dado3)
COMMIT;
END;
SELECT * FROM tabela;

Junção - Auto relacionamento

SELECT a1.colunaA3 a2.colunaA4 FROM tabelaA a1, tabelaA a2 WHERE a1.colunaA1 = b.colunaB2;

Junção exclusiva

//Junta as tabelas que tem colunas em comum

SELECT a.colunaA1 b.colunaB2 FROM tabelaA a

INNER JOIN tabelaB b (a.colunaA1 = b.colunaB1 AND a.colunaA2 = b.colunaB2)

Junção inclusiva

//Junta as tabelas que tem colunas em comum e incomum

SELECT a.colunaA1 b.colunaB2 FROM tabelaA a

FULL OUTER JOIN tabelaB b (a.colunaA1 = b.colunaB1 AND a.colunaA2 = b.colunaB2)


Junção à esquerda

//Junta as tabelass que tem colunas em comum mas mantendo todas as colunas da tabela esquerda

SELECT a.colunaA1 b.colunaB2 FROM tabelaA a

LEFT OUTER JOIN tabelaB b (a.colunaA1 = b.colunaB1 AND a.colunaA2 = b.colunaB2)

Junção à direita

//Junta as tabelas que tem colunas em comum mas mantendo todas as colunas da tabela direita

SELECT a.colunaA1 b.colunaB2 FROM tabelaA a

RIGHT OUTER JOIN tabelaB a (a.colunaA1 = b.colunaB1 AND a.colunaA2 = b.colunaB2)

Remover caracteres

SELECT LTRIM(<str>); //Retira espaços a esquerda da palavra até outro caractere

SELECT LTRIM(<str>,<caracteres>); //Retira espaços a esquerda da palavra

SELECT RTRIM(<str>); //Retira espaços a direita da palavra

SELECT RTRIM(<str>, <caracteres>);//Retira espaços a direita da palavra até outro caractere

Inserção de caracteres a esquerda

SELECT LPAD(<str>,<n>); //Insere n espaços a esquerda da palavra

SELECT LPAD(<str>,<n>, <caracteres>); //Insere n caracteres a esquerda da palavra

SELECT RPAD(<str>,<n>); //Insere n espaços a direita da palavra

SELECT RPAD(<str>, <n>, <caracteres>); //Insere n caracteres a direita da palavra

Letras

SELECT LOWER(<string>); //Converte toda palavra em letras maiuscula

SELECT UPPER(<string>); //Converte toda palavra em letras minuscula

SELECT INITCAP(<string>); //Converte a primeira letra da palavra em maiusculo

Substituir substring

SELECT REPLACE(<string>,<subString>,<novaSubString>);

Substituir dados da coluna sob multiplas condições

SELECT coluna, CASE coluna

WHEN coluna <operador1> <valor1> THEN <novoDado1>

WHEN coluna <operador2> <valor2> THEN <novoDado2>

ELSE <NovoDado3> END

FROM tabela;

Retorna Tamanho do caractere

SELECT LENGTH(<string>);

Potrebbero piacerti anche