Comandos SQL: DDL, DML, DCL e JOINs
Comandos SQL: DDL, DML, DCL e JOINs
Este comando cria uma nova tabela chamada Estudantes com três colunas: ID,
Nome e Idade.
ALTER
Este comando adiciona uma nova coluna chamada Email à tabela Estudantes.
DROP
INSERT
INSERT INTO Estudantes (ID, Nome, Idade, Email) VALUES (1, 'João
Silva', 20, '[Link]@[Link]');
UPDATE
DELETE
REVOKE
BEGIN TRANSACTION;
INSERT INTO Estudantes (ID, Nome, Idade, Email) VALUES (2, 'Maria
Fernanda', 19, '[Link]@[Link]');
COMMIT;
Este comando inicia uma transação, insere um novo registro e, depois, comita a
transação para salvar permanentemente as alterações no banco de dados.
ROLLBACK
BEGIN TRANSACTION;
UPDATE Estudantes SET Idade = 22 WHERE ID = 2;
ROLLBACK;
Este comando inicia uma transação, tenta atualizar um registro e, então, desfaz
todas as alterações realizadas na transação.
SAVEPOINT
BEGIN TRANSACTION;
INSERT INTO Estudantes (ID, Nome, Idade, Email) VALUES (3,
'Carlos Augusto', 18, '[Link]@[Link]');
SAVEPOINT Save1;
UPDATE Estudantes SET Idade = 19 WHERE ID = 3;
ROLLBACK TO Save1;
COMMIT;
Este comando define um ponto de salvamento dentro de uma transação após inserir
um registro, tenta atualizar o registro e, em seguida, reverte para o ponto de
salvamento antes de comitar a transação.
Conceitos Diversos
Inserir dados em uma visão pode ser possível sob certas condições. Uma visão
simples baseada em uma única tabela, que inclua a chave primária, pode permitir
operações de insert, desde que todos os campos obrigatórios sejam incluídos na
visão.
RECURSIVE
SQL MINUS
A cláusula SQL MINUS é usada para combinar duas declarações SELECT, mas
retorna linhas da primeira declaração SELECT que não são retornadas pela
segunda declaração SELECT. A SQL MINUS só retorna linhas que não estão
disponíveis na segunda instrução SELECT.
[WHERE condition]
MINUS
[WHERE condition]
EXTRA - TIPOS DE JOIN
Tabelas de Exemplo
Tabela empregados
id nome departamento_id
1 Alice 1
2 Bob 2
3 Charlie 1
4 Diana 3
Tabela departamentos
id departamento
1 Vendas
2 TI
3 RH
4 Marketing
1. INNER JOIN
Exemplo:
FROM empregados
Resultado:
nome departamento
Alice Vendas
Bob TI
Charlie Vendas
Diana RH
Exemplo:
FROM empregados
Resultado:
nome departamento
Alice Vendas
Bob TI
Charlie Vendas
Diana RH
Exemplo:
FROM empregados
Resultado:
nome departamento
Alice Vendas
Bob TI
Charlie Vendas
Diana RH
NULL Marketing
O FULL JOIN retorna todas as linhas onde há uma correspondência em uma das
tabelas. Linhas que não têm correspondência em uma das tabelas terão NULL nas
colunas da outra tabela.
Exemplo:
Resultado:
nome departamento
Alice Vendas
Bob TI
Charlie Vendas
Diana RH
NULL Marketing
O CROSS JOIN retorna o produto cartesiano das duas tabelas, combinando cada
linha da primeira tabela com cada linha da segunda tabela.
Exemplo:
nome departamento
Resultado:Explicação: O CROSS JOIN
Alice Vendas combina cada empregado com cada
departamento, resultando em um total de 16
Alice TI
combinações (4 empregados x 4
Alice RH departamentos).
Alice Marketing
Bob Vendas
Bob TI
Bob RH
Bob Marketing
Charlie Vendas
Charlie TI
Charlie RH
Charlie Marketing
Diana Vendas
Diana TI
Diana RH
Diana Marketing
6. SELF JOIN
Exemplo:
1 Alice 1 NULL
2 Bob 2 1
3 Charlie 1 1
4 Diana 3 2