DML Select Ate Having Com Innerjoin
SELECT
FASE II
Consultas com duas ou mais tabelas
Consultas com Having
UTILIZANDO VÁRIAS TABELAS
Incluiu-se no banco de dados mais duas tabelas (BENEFICIO e BENEF_FUNC). Essas tabelas têm por objetivo armazenar os dados vinculados aos benefícios oferecidos aos funcionários.
Tabelas
Objetivos
BENEFICIO
Possui os benefícios possíveis ao funcionário
BENEF_FUNC
Possui os benefícios do funcionário
RELACIONAMENTO ENTRE AS TABELAS
Observação: Os dados das tabelas DEPTO e FUNCIONARIO continuam os mesmos.
Estrutura da tabela BENEFICIO
Estrutura da tabela BENEF_FUNC
8 – CONSULTAS UTILIZANDO VÁRIAS TABELAS
a)Selecionar o funcionário Silvia Rabelo e verificar os códigos dos benefícios que ele possui.
Campos a serem exibidos: CODFUNC, FUNC, CODBENEFICIO
SELECT F.codfunc, F.func, BF.codbeneficio
FROM funcionario F INNER JOIN benef_func BF ON F.codfunc = BF.codfunc
WHERE F.func = 'Silvia Rabelo';
b)Identificar a quantidade de benefícios do funcionário de código igual a 10
Nome da coluna: Qtde_Benefícios
SELECT COUNT(BF.codbeneficio) AS Qtde_Benefícios
FROM funcionario F INNER JOIN benef_func BF ON F.codfunc = BF.codfunc
WHERE F.codfunc = 10;
c)Selecionar o funcionário Letícia Duarte e verificar os benefícios que ele possui.
Campos a serem exibidos: CODFUNC, FUNC, BENEFICIO
SELECT F.codfunc, F.func, B.beneficio
FROM funcionario F INNER JOIN benef_func BF ON F.codfunc = BF.codfunc INNER JOIN beneficio B ON B.codbeneficio = BF.codbeneficio
WHERE F.func = 'Letícia Duarte';
d)Identificar o total que a empresa gasta com benefícios aos funcionários que foram contratados entre os meses de junho de 1998 e dezembro de 2000
Nome da Coluna: Gastos_Benefícios
SELECT SUM(B.valor) AS Gastos_Benefícios
FROM funcionario F INNER JOIN benef_func BF ON F.codfunc = BF.codfunc INNER JOIN beneficio B ON B.codbeneficio = BF.codbeneficio
WHERE F.dt_admissao BETWEEN CONVERT(DATETIME, '01/06/1998', 103)