SlideShare uma empresa Scribd logo
1 de 12
Baixar para ler offline
1
1
Linguagem de Consulta - SQL
 Complementos da Linguagem SQL - Eliminando Tuplas
Repetidas
Exemplo: Obter o código das editoras que têm livros publicados
CodEditora Titulo Publicacao ....
04 Banco de Dados 1989
02 Análise 2000
01 XML 2001
02 Orientacao Objetos 1998
01 HTML 1990
SELECT CodEditora
FROM Livro
2
Linguagem de Consulta - SQL
Exemplo: Obter o código das editoras que têm livros publicados
SELECT CodEditora
FROM Livro
04
02
01
02
01
SELECT DISTINCT CodEditora
FROM Livro 01
02
04
OBS : a cláusula DISTINCT automaticamente ordena
o conjunto resultante
CodEditora Titulo Publicacao ....
04 Banco de Dados 1989
02 Análise 2000
01 XML 2001
02 Orientacao Objetos 1998
01 HTML 1990
2
3
Linguagem de Consulta - SQL
 Complementos da Linguagem SQL - Ordenando um
resultado
Exemplo: Obter o código da editora e nome dos seus livros
ordenando o resultado pelo código da editora
SELECT CodEditora,Título
FROM Livro 04 Banco de Dados
02 Análise
01 XML
02 Orientacao Objetos
01 HTMl
SELECT CodEditora, Título
FROM Livro
ORDER BY CodEditora
01 XML
01 HTMl
02 Análise
02 Orientacao Objetos
04 Banco de Dados
CodEditora Titulo Publicacao ....
04 Banco de Dados 1989
02 Análise 2000
01 XML 2001
02 Orientacao Objetos 1998
01 HTML 1990
4
Linguagem de Consulta - SQL
 Complementos da Linguagem SQL - Ordenando um
resultado
Exemplo: Obter o código da editora e nome dos seus livros ordenando
o resultado pelo código da editora e alfabeticamente pelo título
SELECT CodEditora, Título
FROM Livro
ORDER BY CodEditora
01 XML
01 HTMl
02 Análise
02 Orientacao Objetos
04 Banco de Dados
CodEditora Titulo Publicacao ....
04 Banco de Dados 1989
02 Análise 2000
01 XML 2001
02 Orientacao Objetos 1998
01 HTML 1990
SELECT CodEditora, Título
FROM Livro
ORDER BY CodEditora,Titulo
01 HTMl
01 XML
02 Análise
02 Orientacao Objetos
04 Banco de Dados
3
5
Linguagem de Consulta - SQL
 Complementos da Linguagem SQL - Ordenando um
resultado
SELECT CodEditora, Título
FROM Livro
ORDER BY 2
SELECT CodEditora, Título
FROM Livro
ORDER BY 2 ASC
SELECT CodEditora, Título
FROM Livro
ORDER BY 2 DESC
6
Linguagem de Consulta - SQL
 Complementos da Linguagem SQL - Expressões em
condições
Exemplo: Obter os dados dos funcionários que, em 2000, tinham
mais de 20 anos.
CodEmp Nome AnoNasc
04 João 1969
02 Ana 1980
03 Pedro 1976
05 Paula 1930
01 Carlos 1983
SELECT *
FROM Funcionario
WHERE (2000 - AnoNasc)  20
FUNCIONÁRIO
04 João 1969
03 Pedro 1976
05 Paula 1930
4
7
Linguagem de Consulta - SQL
 Complementos da Linguagem SQL - Utilizando
expressões para exibir resultados calculados
Exemplo: Obter o nome e o salário mensal dos funcionários.
CodEmp Nome SalAnual
02 João 12.000,00
03 Pedro 24.000,00
01 Paula 6.000,00
SELECT Nome, SalAnual/12
FROM Funcionario
FUNCIONÁRIO
João 1.000,00
Pedro 2.000,00
Paula 500,00
8
Linguagem de Consulta - SQL
 Complementos da Linguagem SQL - Funções para
cálculos de valores
 COUNT: contador de um conjunto de valores
 SUM: Calcula a soma total de um conjunto de valores;
 AVG : Calcula a média de determinados valores;
 MIN: Encontra o menor valor dentro de um conjunto
especificado;
 MAX: Encontra o maior valor dentro de um conjunto
especificado;
5
9
Linguagem de Consulta - SQL
 Complementos da Linguagem SQL - COUNT : contador
de um conjunto de valores
Exemplo: Contar quantos funcionários existem armazenados.
CodEmp Nome AnoNasc SalAnual Cargo
04 João 1969 12.000,00 Gerencia
02 Ana 1980 24.000,00 Gerencia
03 Pedro 1976 6.000,00 Secretaria
05 Paula 1930 15.000,00 Administracao
01 Carlos 1983 35.000,00 Administracao
FUNCIONÁRIO
SELECT count(*)
FROM Funcionario
5
10
Linguagem de Consulta - SQL
 Complementos da Linguagem SQL - COUNT :
adicionando nomes aos resultados
SELECT count(*)
FROM Funcionario
count(*)
5
SELECT count(*)
as NumerodeFuncionarios
FROM Funcionario
NumerodeFuncionarios
5
6
11
Linguagem de Consulta - SQL
 Complementos da Linguagem SQL - COUNT : contador
de um conjunto de valores
Exemplo: Contar quantos funcionários tem plano de saúde
CodEmp Nome AnoNasc SalAnual Cargo PlanoS
04 João 1969 12.000,00 Gerencia NULL
02 Ana 1980 24.000,00 Gerencia UNIMED
03 Pedro 1976 6.000,00 Secretaria AMIL
05 Paula 1930 15.000,00 Administracao NULL
01 Carlos 1983 35.000,00 Administracao NULL
FUNCIONÁRIO
SELECT count(PlanoS)
FROM Funcionario
2
12
Linguagem de Consulta - SQL
 Complementos da Linguagem SQL - COUNT : contador
de um conjunto de valores
Exemplo: Contar quantos funcionários tem salário anual superior
a 10.000,00
CodEmp Nome AnoNasc SalAnual Cargo PlanoS
04 João 1969 12.000,00 Gerencia NULL
02 Ana 1980 24.000,00 Gerencia UNIMED
03 Pedro 1976 6.000,00 Secretaria AMIL
05 Paula 1930 15.000,00 Administracao NULL
01 Carlos 1983 35.000,00 Administracao NULL
FUNCIONÁRIO
SELECT count(SalAnual) ou (*)
FROM Funcionario
WHERE SalAnual  12000
3
7
13
Linguagem de Consulta - SQL
 Complementos da Linguagem SQL - SUM : calcula a
soma total de um conjunto de valores
Exemplo: Mostrar a soma dos salários anuais pagos aos
funcionários da empresa
CodEmp Nome AnoNasc SalAnual Cargo PlanoS
04 João 1969 12.000,00 Gerencia NULL
02 Ana 1980 24.000,00 Gerencia UNIMED
03 Pedro 1976 6.000,00 Secretaria AMIL
05 Paula 1930 15.000,00 Administracao NULL
01 Carlos 1983 35.000,00 Administracao NULL
FUNCIONÁRIO
SELECT SUM(SalAnual)
FROM Funcionario
92.000,00
14
Linguagem de Consulta - SQL
 Complementos da Linguagem SQL - SUM: Calcula a soma
total de um conjunto de valores
Exemplo: Mostrar a soma dos salários anuais pagos aos
funcionários da empresa que ganham mais de 20.000,00
CodEmp Nome AnoNasc SalAnual Cargo PlanoS
04 João 1969 12.000,00 Gerencia NULL
02 Ana 1980 24.000,00 Gerencia UNIMED
03 Pedro 1976 6.000,00 Secretaria AMIL
05 Paula 1930 15.000,00 Administracao NULL
01 Carlos 1983 35.000,00 Administracao NULL
FUNCIONÁRIO
SELECT SUM(SalAnual)
FROM Funcionario
WHERE SalAnual  20000
59.000,00
8
15
Linguagem de Consulta - SQL
 Complementos da Linguagem SQL - AVG : Calcula a
média de determinados valores;
Exemplo: Mostrar a média dos salários anuais pagos aos
funcionários da empresa
CodEmp Nome AnoNasc SalAnual Cargo PlanoS
04 João 1969 12.000,00 Gerencia NULL
02 Ana 1980 24.000,00 Gerencia UNIMED
03 Pedro 1976 6.000,00 Secretaria AMIL
05 Paula 1930 15.000,00 Administracao NULL
01 Carlos 1983 35.000,00 Administracao NULL
FUNCIONÁRIO
SELECT AVG(SalAnual)
FROM Funcionario
18.400,00
16
Linguagem de Consulta - SQL
 Complementos da Linguagem SQL - MIN: Encontra o
menor valor dentro de um conjunto especificado;
Exemplo: Mostrar o menor salário anual pago aos funcionários
da empresa
CodEmp Nome AnoNasc SalAnual Cargo PlanoS
04 João 1969 12.000,00 Gerencia NULL
02 Ana 1980 24.000,00 Gerencia UNIMED
03 Pedro 1976 6.000,00 Secretaria AMIL
05 Paula 1930 15.000,00 Administracao NULL
01 Carlos 1983 35.000,00 Administracao NULL
FUNCIONÁRIO
SELECT MIN(SalAnual)
FROM Funcionario
6.000,00
9
17
Linguagem de Consulta - SQL
 Complementos da Linguagem SQL - MAX: Encontra o
maior valor dentro de um conjunto especificado;
Exemplo: Mostrar o maior salário anual pago aos funcionários da
empresa
CodEmp Nome AnoNasc SalAnual Cargo PlanoS
04 João 1969 12.000,00 Gerencia NULL
02 Ana 1980 24.000,00 Gerencia UNIMED
03 Pedro 1976 6.000,00 Secretaria AMIL
05 Paula 1930 15.000,00 Administracao NULL
01 Carlos 1983 35.000,00 Administracao NULL
FUNCIONÁRIO
SELECT MAX(SalAnual)
FROM Funcionario
35.000,00
18
Linguagem de Consulta - SQL
 Complementos da Linguagem SQL - Usando NULL em
comparações
Exemplo: Mostrar o nome de todos os funcionários que não têm
plano de saúde
CodEmp Nome AnoNasc SalAnual Cargo PlanoS
04 João 1969 12.000,00 Gerencia NULL
02 Ana 1980 24.000,00 Gerencia UNIMED
03 Pedro 1976 6.000,00 Secretaria AMIL
05 Paula 1930 15.000,00 Administracao NULL
01 Carlos 1983 35.000,00 Administracao NULL
FUNCIONÁRIO
SELECT nome
FROM Funcionario
WHERE PlanoS is null
João
Paula
Carlos
10
19
Linguagem de Consulta - SQL
 Complementos da Linguagem SQL - Agrupando
informações
Exemplo: Mostrar o cargo e a soma dos salários pagos pela empresa
para cada tipo de cargo ocupado pelos funcionários
CodEmp Nome AnoNasc SalAnual Cargo PlanoS
04 João 1969 12.000,00 Gerencia NULL
02 Ana 1980 24.000,00 Gerencia UNIMED
03 Pedro 1976 6.000,00 Secretaria AMIL
05 Paula 1930 15.000,00 Administracao NULL
01 Carlos 1983 35.000,00 Administracao NULL
FUNCIONÁRIO
SELECT cargo, SUM (SalAnual)
FROM Funcionario
GROUP BY Cargo
Gerencia 36.000,00
Secretaria 6.000,00
Administração 50.000,00
20
Linguagem de Consulta - SQL
 Complementos da Linguagem SQL - Agrupando
informações com condições
Exemplo: Mostrar o cargo e a soma dos salários pagos pela
empresa para cada tipo de cargo ocupado pelos funcionários,
somente se a soma ultrapassar 30.000,00
SELECT cargo, SUM (SalAnual)
FROM Funcionario
GROUP BY Cargo
HAVING SUM(SalAnual)  30000
ORDER BY cargo
Administração 50.000,00
Gerencia 36.000,00
SELECT cargo, SUM (SalAnual)
FROM Funcionario
WHERE SUM(SalAnual)  30000
GROUP BY Cargo
ERRADO !!
11
21
 Linguagem de Manipulação de Dados (DML) -
Comandos Básicos de Inserção e Atualização
 INSERT : serve para inserir uma ou mais linhas em
uma tabela;
 UPDATE: serve para alterar os dados de uma ou mais
linhas de uma tabela
 DELETE: serve para exclui uma ou mais linhas de uma
tabela;
Linguagem de Consulta - SQL
22
 Linguagem de Manipulação de Dados (DML) - Insert
INSERT INTO Nome_Tabela
VALUES (valores)
Linguagem de Consulta - SQL
INSERT INTO Autor (CodAutor,Nome,CodCidade)
VALUES (2, “Agatha Christie”,01)
INSERT INTO Autor
VALUES (2, “Agatha Christie”,NULL,01)
INSERT INTO Autor
VALUES (2, “Agatha Christie”, “10/04/1920”,01)
12
23
 Linguagem de Manipulação de Dados (DML) - Update
UPDATE Tabela
SET coluna = novo valor,
coluna = novo valor
WHERE condição
Linguagem de Consulta - SQL
UPDATE Autor
SET Nome = “José de Alencar”,
DataNasc = “10/12/1930”
WHERE CodAutor = 1
24
 Linguagem de Manipulação de Dados (DML) - Delete
DELETE FROM Tabela
[WHERE condição]
Linguagem de Consulta - SQL
DELETE FROM Autor Exclui todos os registros
DELETE FROM Autor
WHERE CodAutor = 1
Exclui o registro onde
autor tem código = 01
DELETE FROM Autor
WHERE CodCidade in
(SELECT CodCidade
FROM Cidade
WHERE Nome = “Santa Maria”)
Exclui todos os registros de
atores que morem em Santa
Maria

Mais conteúdo relacionado

Semelhante a Sql02

Semelhante a Sql02 (20)

jahundredsound
jahundredsoundjahundredsound
jahundredsound
 
Aula7 sql basico_6por_pag
Aula7 sql basico_6por_pagAula7 sql basico_6por_pag
Aula7 sql basico_6por_pag
 
Aula 23 - Excel 2010
Aula 23 - Excel 2010Aula 23 - Excel 2010
Aula 23 - Excel 2010
 
Banco II - PostgreSQL - Filtros
Banco II - PostgreSQL - FiltrosBanco II - PostgreSQL - Filtros
Banco II - PostgreSQL - Filtros
 
BD I - Aula 14 A - Limitando Conj Dados e Sub Selects
BD I - Aula 14 A - Limitando Conj Dados e Sub SelectsBD I - Aula 14 A - Limitando Conj Dados e Sub Selects
BD I - Aula 14 A - Limitando Conj Dados e Sub Selects
 
Aula 12 banco de dados
Aula 12   banco de dadosAula 12   banco de dados
Aula 12 banco de dados
 
At00 apostila sql
At00   apostila sqlAt00   apostila sql
At00 apostila sql
 
Um pouco sobre sql
Um pouco sobre sqlUm pouco sobre sql
Um pouco sobre sql
 
Alguns algoritmos resolvidos
Alguns algoritmos resolvidosAlguns algoritmos resolvidos
Alguns algoritmos resolvidos
 
BD I - Aula 13 B - Agrupando Dados - Parte 04
BD I - Aula 13 B - Agrupando Dados  - Parte 04BD I - Aula 13 B - Agrupando Dados  - Parte 04
BD I - Aula 13 B - Agrupando Dados - Parte 04
 
Banco de Dados II - Unimep/Pronatec - Aula 6
Banco de Dados II - Unimep/Pronatec - Aula 6Banco de Dados II - Unimep/Pronatec - Aula 6
Banco de Dados II - Unimep/Pronatec - Aula 6
 
Aula 7 sql - select
Aula 7   sql - selectAula 7   sql - select
Aula 7 sql - select
 
aula-2-estrutura-e-politica-salarial.ppt
aula-2-estrutura-e-politica-salarial.pptaula-2-estrutura-e-politica-salarial.ppt
aula-2-estrutura-e-politica-salarial.ppt
 
Stored Procedures and Triggers
Stored Procedures and TriggersStored Procedures and Triggers
Stored Procedures and Triggers
 
Banco de Dados II - Unimep/Pronatec - Aula 5
Banco de Dados II - Unimep/Pronatec - Aula 5Banco de Dados II - Unimep/Pronatec - Aula 5
Banco de Dados II - Unimep/Pronatec - Aula 5
 
Curso SQL Server 2005
Curso SQL Server 2005Curso SQL Server 2005
Curso SQL Server 2005
 
BDI - Aula 09 - SQL e Algebra Relacional
BDI - Aula 09 - SQL e Algebra RelacionalBDI - Aula 09 - SQL e Algebra Relacional
BDI - Aula 09 - SQL e Algebra Relacional
 
Sql server
Sql serverSql server
Sql server
 
Sql01
Sql01Sql01
Sql01
 
Apostila de sql oracle (pt br)
Apostila de sql   oracle (pt br)Apostila de sql   oracle (pt br)
Apostila de sql oracle (pt br)
 

Mais de Tecksantos

Mais de Tecksantos (6)

Aula1
Aula1Aula1
Aula1
 
Curso de banco de dados
Curso de banco de dadosCurso de banco de dados
Curso de banco de dados
 
Bd aula5
Bd aula5Bd aula5
Bd aula5
 
Bd aula4
Bd aula4Bd aula4
Bd aula4
 
Bd aula3
Bd aula3Bd aula3
Bd aula3
 
Bd aula2
Bd aula2Bd aula2
Bd aula2
 

Sql02

  • 1. 1 1 Linguagem de Consulta - SQL Complementos da Linguagem SQL - Eliminando Tuplas Repetidas Exemplo: Obter o código das editoras que têm livros publicados CodEditora Titulo Publicacao .... 04 Banco de Dados 1989 02 Análise 2000 01 XML 2001 02 Orientacao Objetos 1998 01 HTML 1990 SELECT CodEditora FROM Livro 2 Linguagem de Consulta - SQL Exemplo: Obter o código das editoras que têm livros publicados SELECT CodEditora FROM Livro 04 02 01 02 01 SELECT DISTINCT CodEditora FROM Livro 01 02 04 OBS : a cláusula DISTINCT automaticamente ordena o conjunto resultante CodEditora Titulo Publicacao .... 04 Banco de Dados 1989 02 Análise 2000 01 XML 2001 02 Orientacao Objetos 1998 01 HTML 1990
  • 2. 2 3 Linguagem de Consulta - SQL Complementos da Linguagem SQL - Ordenando um resultado Exemplo: Obter o código da editora e nome dos seus livros ordenando o resultado pelo código da editora SELECT CodEditora,Título FROM Livro 04 Banco de Dados 02 Análise 01 XML 02 Orientacao Objetos 01 HTMl SELECT CodEditora, Título FROM Livro ORDER BY CodEditora 01 XML 01 HTMl 02 Análise 02 Orientacao Objetos 04 Banco de Dados CodEditora Titulo Publicacao .... 04 Banco de Dados 1989 02 Análise 2000 01 XML 2001 02 Orientacao Objetos 1998 01 HTML 1990 4 Linguagem de Consulta - SQL Complementos da Linguagem SQL - Ordenando um resultado Exemplo: Obter o código da editora e nome dos seus livros ordenando o resultado pelo código da editora e alfabeticamente pelo título SELECT CodEditora, Título FROM Livro ORDER BY CodEditora 01 XML 01 HTMl 02 Análise 02 Orientacao Objetos 04 Banco de Dados CodEditora Titulo Publicacao .... 04 Banco de Dados 1989 02 Análise 2000 01 XML 2001 02 Orientacao Objetos 1998 01 HTML 1990 SELECT CodEditora, Título FROM Livro ORDER BY CodEditora,Titulo 01 HTMl 01 XML 02 Análise 02 Orientacao Objetos 04 Banco de Dados
  • 3. 3 5 Linguagem de Consulta - SQL Complementos da Linguagem SQL - Ordenando um resultado SELECT CodEditora, Título FROM Livro ORDER BY 2 SELECT CodEditora, Título FROM Livro ORDER BY 2 ASC SELECT CodEditora, Título FROM Livro ORDER BY 2 DESC 6 Linguagem de Consulta - SQL Complementos da Linguagem SQL - Expressões em condições Exemplo: Obter os dados dos funcionários que, em 2000, tinham mais de 20 anos. CodEmp Nome AnoNasc 04 João 1969 02 Ana 1980 03 Pedro 1976 05 Paula 1930 01 Carlos 1983 SELECT * FROM Funcionario WHERE (2000 - AnoNasc) 20 FUNCIONÁRIO 04 João 1969 03 Pedro 1976 05 Paula 1930
  • 4. 4 7 Linguagem de Consulta - SQL Complementos da Linguagem SQL - Utilizando expressões para exibir resultados calculados Exemplo: Obter o nome e o salário mensal dos funcionários. CodEmp Nome SalAnual 02 João 12.000,00 03 Pedro 24.000,00 01 Paula 6.000,00 SELECT Nome, SalAnual/12 FROM Funcionario FUNCIONÁRIO João 1.000,00 Pedro 2.000,00 Paula 500,00 8 Linguagem de Consulta - SQL Complementos da Linguagem SQL - Funções para cálculos de valores COUNT: contador de um conjunto de valores SUM: Calcula a soma total de um conjunto de valores; AVG : Calcula a média de determinados valores; MIN: Encontra o menor valor dentro de um conjunto especificado; MAX: Encontra o maior valor dentro de um conjunto especificado;
  • 5. 5 9 Linguagem de Consulta - SQL Complementos da Linguagem SQL - COUNT : contador de um conjunto de valores Exemplo: Contar quantos funcionários existem armazenados. CodEmp Nome AnoNasc SalAnual Cargo 04 João 1969 12.000,00 Gerencia 02 Ana 1980 24.000,00 Gerencia 03 Pedro 1976 6.000,00 Secretaria 05 Paula 1930 15.000,00 Administracao 01 Carlos 1983 35.000,00 Administracao FUNCIONÁRIO SELECT count(*) FROM Funcionario 5 10 Linguagem de Consulta - SQL Complementos da Linguagem SQL - COUNT : adicionando nomes aos resultados SELECT count(*) FROM Funcionario count(*) 5 SELECT count(*) as NumerodeFuncionarios FROM Funcionario NumerodeFuncionarios 5
  • 6. 6 11 Linguagem de Consulta - SQL Complementos da Linguagem SQL - COUNT : contador de um conjunto de valores Exemplo: Contar quantos funcionários tem plano de saúde CodEmp Nome AnoNasc SalAnual Cargo PlanoS 04 João 1969 12.000,00 Gerencia NULL 02 Ana 1980 24.000,00 Gerencia UNIMED 03 Pedro 1976 6.000,00 Secretaria AMIL 05 Paula 1930 15.000,00 Administracao NULL 01 Carlos 1983 35.000,00 Administracao NULL FUNCIONÁRIO SELECT count(PlanoS) FROM Funcionario 2 12 Linguagem de Consulta - SQL Complementos da Linguagem SQL - COUNT : contador de um conjunto de valores Exemplo: Contar quantos funcionários tem salário anual superior a 10.000,00 CodEmp Nome AnoNasc SalAnual Cargo PlanoS 04 João 1969 12.000,00 Gerencia NULL 02 Ana 1980 24.000,00 Gerencia UNIMED 03 Pedro 1976 6.000,00 Secretaria AMIL 05 Paula 1930 15.000,00 Administracao NULL 01 Carlos 1983 35.000,00 Administracao NULL FUNCIONÁRIO SELECT count(SalAnual) ou (*) FROM Funcionario WHERE SalAnual 12000 3
  • 7. 7 13 Linguagem de Consulta - SQL Complementos da Linguagem SQL - SUM : calcula a soma total de um conjunto de valores Exemplo: Mostrar a soma dos salários anuais pagos aos funcionários da empresa CodEmp Nome AnoNasc SalAnual Cargo PlanoS 04 João 1969 12.000,00 Gerencia NULL 02 Ana 1980 24.000,00 Gerencia UNIMED 03 Pedro 1976 6.000,00 Secretaria AMIL 05 Paula 1930 15.000,00 Administracao NULL 01 Carlos 1983 35.000,00 Administracao NULL FUNCIONÁRIO SELECT SUM(SalAnual) FROM Funcionario 92.000,00 14 Linguagem de Consulta - SQL Complementos da Linguagem SQL - SUM: Calcula a soma total de um conjunto de valores Exemplo: Mostrar a soma dos salários anuais pagos aos funcionários da empresa que ganham mais de 20.000,00 CodEmp Nome AnoNasc SalAnual Cargo PlanoS 04 João 1969 12.000,00 Gerencia NULL 02 Ana 1980 24.000,00 Gerencia UNIMED 03 Pedro 1976 6.000,00 Secretaria AMIL 05 Paula 1930 15.000,00 Administracao NULL 01 Carlos 1983 35.000,00 Administracao NULL FUNCIONÁRIO SELECT SUM(SalAnual) FROM Funcionario WHERE SalAnual 20000 59.000,00
  • 8. 8 15 Linguagem de Consulta - SQL Complementos da Linguagem SQL - AVG : Calcula a média de determinados valores; Exemplo: Mostrar a média dos salários anuais pagos aos funcionários da empresa CodEmp Nome AnoNasc SalAnual Cargo PlanoS 04 João 1969 12.000,00 Gerencia NULL 02 Ana 1980 24.000,00 Gerencia UNIMED 03 Pedro 1976 6.000,00 Secretaria AMIL 05 Paula 1930 15.000,00 Administracao NULL 01 Carlos 1983 35.000,00 Administracao NULL FUNCIONÁRIO SELECT AVG(SalAnual) FROM Funcionario 18.400,00 16 Linguagem de Consulta - SQL Complementos da Linguagem SQL - MIN: Encontra o menor valor dentro de um conjunto especificado; Exemplo: Mostrar o menor salário anual pago aos funcionários da empresa CodEmp Nome AnoNasc SalAnual Cargo PlanoS 04 João 1969 12.000,00 Gerencia NULL 02 Ana 1980 24.000,00 Gerencia UNIMED 03 Pedro 1976 6.000,00 Secretaria AMIL 05 Paula 1930 15.000,00 Administracao NULL 01 Carlos 1983 35.000,00 Administracao NULL FUNCIONÁRIO SELECT MIN(SalAnual) FROM Funcionario 6.000,00
  • 9. 9 17 Linguagem de Consulta - SQL Complementos da Linguagem SQL - MAX: Encontra o maior valor dentro de um conjunto especificado; Exemplo: Mostrar o maior salário anual pago aos funcionários da empresa CodEmp Nome AnoNasc SalAnual Cargo PlanoS 04 João 1969 12.000,00 Gerencia NULL 02 Ana 1980 24.000,00 Gerencia UNIMED 03 Pedro 1976 6.000,00 Secretaria AMIL 05 Paula 1930 15.000,00 Administracao NULL 01 Carlos 1983 35.000,00 Administracao NULL FUNCIONÁRIO SELECT MAX(SalAnual) FROM Funcionario 35.000,00 18 Linguagem de Consulta - SQL Complementos da Linguagem SQL - Usando NULL em comparações Exemplo: Mostrar o nome de todos os funcionários que não têm plano de saúde CodEmp Nome AnoNasc SalAnual Cargo PlanoS 04 João 1969 12.000,00 Gerencia NULL 02 Ana 1980 24.000,00 Gerencia UNIMED 03 Pedro 1976 6.000,00 Secretaria AMIL 05 Paula 1930 15.000,00 Administracao NULL 01 Carlos 1983 35.000,00 Administracao NULL FUNCIONÁRIO SELECT nome FROM Funcionario WHERE PlanoS is null João Paula Carlos
  • 10. 10 19 Linguagem de Consulta - SQL Complementos da Linguagem SQL - Agrupando informações Exemplo: Mostrar o cargo e a soma dos salários pagos pela empresa para cada tipo de cargo ocupado pelos funcionários CodEmp Nome AnoNasc SalAnual Cargo PlanoS 04 João 1969 12.000,00 Gerencia NULL 02 Ana 1980 24.000,00 Gerencia UNIMED 03 Pedro 1976 6.000,00 Secretaria AMIL 05 Paula 1930 15.000,00 Administracao NULL 01 Carlos 1983 35.000,00 Administracao NULL FUNCIONÁRIO SELECT cargo, SUM (SalAnual) FROM Funcionario GROUP BY Cargo Gerencia 36.000,00 Secretaria 6.000,00 Administração 50.000,00 20 Linguagem de Consulta - SQL Complementos da Linguagem SQL - Agrupando informações com condições Exemplo: Mostrar o cargo e a soma dos salários pagos pela empresa para cada tipo de cargo ocupado pelos funcionários, somente se a soma ultrapassar 30.000,00 SELECT cargo, SUM (SalAnual) FROM Funcionario GROUP BY Cargo HAVING SUM(SalAnual) 30000 ORDER BY cargo Administração 50.000,00 Gerencia 36.000,00 SELECT cargo, SUM (SalAnual) FROM Funcionario WHERE SUM(SalAnual) 30000 GROUP BY Cargo ERRADO !!
  • 11. 11 21 Linguagem de Manipulação de Dados (DML) - Comandos Básicos de Inserção e Atualização INSERT : serve para inserir uma ou mais linhas em uma tabela; UPDATE: serve para alterar os dados de uma ou mais linhas de uma tabela DELETE: serve para exclui uma ou mais linhas de uma tabela; Linguagem de Consulta - SQL 22 Linguagem de Manipulação de Dados (DML) - Insert INSERT INTO Nome_Tabela VALUES (valores) Linguagem de Consulta - SQL INSERT INTO Autor (CodAutor,Nome,CodCidade) VALUES (2, “Agatha Christie”,01) INSERT INTO Autor VALUES (2, “Agatha Christie”,NULL,01) INSERT INTO Autor VALUES (2, “Agatha Christie”, “10/04/1920”,01)
  • 12. 12 23 Linguagem de Manipulação de Dados (DML) - Update UPDATE Tabela SET coluna = novo valor, coluna = novo valor WHERE condição Linguagem de Consulta - SQL UPDATE Autor SET Nome = “José de Alencar”, DataNasc = “10/12/1930” WHERE CodAutor = 1 24 Linguagem de Manipulação de Dados (DML) - Delete DELETE FROM Tabela [WHERE condição] Linguagem de Consulta - SQL DELETE FROM Autor Exclui todos os registros DELETE FROM Autor WHERE CodAutor = 1 Exclui o registro onde autor tem código = 01 DELETE FROM Autor WHERE CodCidade in (SELECT CodCidade FROM Cidade WHERE Nome = “Santa Maria”) Exclui todos os registros de atores que morem em Santa Maria