005B - DML (Data Manipulation Language)
Folien in diesem Satz (24)
-
Incluindo registro em uma tabela
- Comando Insert:
- Modelo: INSERT INTO nome_da_tabela (coluna1, coluna2, coluna3)
- VALUES (valor1, valor2, valor3)
- Exemplo: INSERT INTO empregado(codigo, nome, sexo, salario)
- VALUES ("12345", "Ethelberto", "Masculino", 2000)
-
Atualizando registros em uma tabela
- Comando Update:
- Modelo: UPDATE nome_da_tabela
- SET coluna1 = valor1, coluna2 = valor2
- WHERE condições
- Exemplo: UPDATE empregado
- SET salario = salario * 1.5
- WHERE (Sexo = "M" AND salario <= 2000)
- OR (nome <> "João")
- OR (nome LIKE "%Mello%)
-
Excluindo registros de uma tabela
- Comando DELETE:
- Modelo: DELETE FROM nome_da_tabela
- WHERE condições
- Exemplo: DELETE FROM empregado
- WHERE nome LIKE "Ethelberto%"
-
Selecionando registros de uma tabela
- Comando SELECT:
- Modelo: SELECT lista_de_atributos
- FROM nome_da_tabela
- WHERE condições
- Exemplo: SELECT nome, salario
- FROM empregado
- WHERE salario > 2000
-
Ordenando registros em uma tabela
- Cláusula ORDER BY:
- Modelo: SELECT lista_de_atributos
- FROM nome_da_tabela
- WHERE condições
- ORDER BY campo ASC / DESC
- Exemplo: SELECT *
- FROM empregado
- WHERE salario > 2000
- ORDER BY salario DESC
-
- Cláusula DISTINCT:
- Exemplo: SELECT DISTINCT nome_do_vendedor
- FROM vendas
- WHERE quatidade > 100
-
- COUNT: número de linhas;
- AVG: média de todos os valores da coluna;
- MAX: o maior valor da coluna;
- MIN: o menor valor da coluna;
- SUM: soma de todos os valores da coluna
-
Contando Quantidade de Registros
- Função COUNT:
- Exemplo:
- SELECT COUNT(sexo) AS total_masculino
- FROM empregado
- WHERE sexo = "Masculino"
-
- Função MIN e MAX:
- Exemplo:
- SELECT MIN(salario) AS menor_salario, MAX(salario) AS maior_salario
- FROM empregado
-
Calculando Somatórios e Valores Médios
- Função SUM e AVG:
- Exemplo:
- SELECT SUM(salario) AS total_salario, AVG(salario) AS media_salario
- FROM empregado
-
- Cláusula GROUP BY:
- Exemplo:
- SELECT COUNT(codigo)
- FROM empregado
- GROUP BY sexo
-
- Cláusula HAVING:
- Exemplo:
- SELECT departamento, SUM(quantidade) AS total_venda
- FROM vendas
- WHERE quantidade > 2000
- GROUP BY departamento
- HAVING total_venda > 5000
- ** A diferença do HAVING para o WHERE é que a cláusula WHERE restringe os registros a serem considerados, enquanto a cláusula HAVING restringe os grupos que foram formados após a aplicação da cláusula WHERE.
-
- Para obter os dados de duas tabelas, basta referenciar os campos e nomes das duas tabelas como no modelo abaixo:
- SELECT campo1, campo2, campo3, campoN
- FROM nome_tabela1, nome_tabela2
- Deve-se distinguir a origem do campo, quando os nomes dos campos forem iguais nas duas tabelas.
- SELECT nome_tabela1.campo1, campo2, nome_tabela2.campo3
- FROM nome_tabela1, nome_tabela2
-
- O Inner Join restringe o resultado a todos os registros comuns as duas tabelas.
- SELECT A.nome_campo1, B.nome_campo2
- FROM nome_tabela1 as A
- INNER JOIN nome_tabela2 as B
- ON A.codigo = B.codigo
- Ou
- SELECT A.nome_campo1, B.nome_campo2
- FROM nome_tabela1 as A,
- nome_tabela2 as B
- WHERE A.codigo = B.codigo

-
- O Left Join restringe o resultado a todos os registros da tabela a esquerda.
- SELECT A.nome_campo1, B.nome_campo2
- FROM nome_tabela1 as A
- LEFT JOIN nome_tabela2 as B
- ON A.codigo = B.codigo

-
- O Right Join restringe o resultado a todos os registros da tabela a direita.
- SELECT A.nome_campo1, B.nome_campo2
- FROM nome_tabela1 as A
- RIGHT JOIN nome_tabela2 as B
- ON A.codigo = B.codigo

-
- O Outer Join obtém o resultado de todos os registros das tabela.
- SELECT A.nome_campo1, B.nome_campo2
- FROM nome_tabela1 as A
- FULL OUTER JOIN nome_tabela2 as B
- ON A.codigo = B.codigo

-
- O Left Join também pode ser utilizado para restringir o resultado a todos os registros da tabela a esquerda que não estejam na tabela a direita.
- SELECT A.nome_campo1, B.nome_campo2
- FROM nome_tabela1 as A
- LEFT JOIN nome_tabela2 as B
- ON A.codigo = B.codigo
- WHERE B.codigo IS NULL

-
- O Right Join também pode ser utilizado para restringir o resultado a todos os registros da tabela a direita que não estejam na tabela a esquerda.
- SELECT A.nome_campo1, B.nome_campo2
- FROM nome_tabela1 as A
- RIGHT JOIN nome_tabela2 as B
- ON A.codigo = B.codigo
- WHERE A.codigo IS NULL

-
- O Outer Join também pode ser utilizado para restringir o resultado a todos os registros das tabelas que não sejam comuns a elas.
- SELECT A.nome_campo1, B.nome_campo2
- FROM nome_tabela1 as A
- FULL OUTER JOIN nome_tabela2 as B
- ON A.codigo = B.codigo
- WHERE A.codigo IS NULL or
- B.codigo IS NULL

-
- Utilizando SQL, pode-se utilizar o comando de união (UNION) que permite juntar o conteúdo de dois ou mais comandos SELECT.
- SELECT cpf,nome FROM Professor
- UNION
- SELECT cpf,nome FROM Funcionario
- UNION
- SELECT cpf,nome FROM Aluno
- Em uma união (UNION), o número de campos a serem selecionados em cada um dos comandos SELECT tem de ser IGUAL. O nome das colunas apresentado no resultado é o nome das colunas selecionadas na primeira instrução SELECT.
- Além disso, são eliminadas do resultado as linhas duplicadas, do mesmo modo que no DISTINCT, a não ser que seja utilizado UNION ALL.
-
- O operador INTERSECT permite juntar o resultado de dois comandos SELECT, apresentando as linhas que resultam de ambos os comandos.
- As linhas duplicadas são eliminadas, a não ser que seja utilizado INTERSECT ALL.
- SELECT nome, cpf, data_nascimento FROM Funcionario
- INTERSECT
- SELECT nome,cpf,data_nascimento FROM Aluno
- ORDER BY nome DESC
-
- O operador EXCEPT retorna todas as linhas presentes no resultado da consulta1,
- mas que não estão presentes no resultado da consulta2
- (às vezes isto é chamado de diferença entre duas consultas).
- SELECT nome,cpf,data_nascimento FROM Funcionario
- EXCEPT
- SELECT nome,cpf,data_nascimento FROM Aluno
- ORDER BY nome DESC
-
- O comando SQL permite o uso de subconsultas. Uma subconsulta consiste em um SELECT dentro de outro SELECT.
- SELECT Nome
- FROM Funcionario
- WHERE salario = (SELECT MIN(salario) FROM Funcionario)
- Primeiro é executado a consulta interior (SELECT MIN (salario) FROM Funcionarios), e em seguida a consulta exterior pode ser executada pelo resultado que o SELECT interior devolveu.
- As linhas duplicadas são eliminadas a não ser que seja utilizado EXCEPT ALL.
Informationen
- Beschreibung
- Concurso Público Banco de Dados Folienset am 005B - DML (Data Manipulation Language), erstellt von Ethelberto Mello am 20/06/2016.
- Erstellt von
- Ethelberto Mello · Jun 2016
- Aktualisiert
- 30 Jun 2016
- Aufrufe
- 0
- Bewertung