INNER JOIN
Acesso a dados em duas tabelas usando INNER JOIN e filtragem usando WHERE
vamos verificar os valores do bonus
Verificar a redução do bonus do 4ºTrimestre p/ com 3º de cada colaborador.
@Prof. Carlos Tojeiro
Vamos chamar nosso BD de empresaboa
O conjunto de dados empresaboa terá duas tabelas: empregados
Técnicos
Vamos popular esta tabela:
Administrativos
As colunas e os dados na tabela acima são:
id - O ID exclusivo do colaborador e a chave primária da tabela.
primeiro_nome - O primeiro nome do colaborador.
ultimo_nome - O sobrenome do funcionário.
departamento - O departamento do colaborador.
salario - O salário mensal do colaborador, em reais.
As colunas são:
colaborador_id - O ID exclusivo do colaborador. Além disso, uma chave estrangeira que faz referência à coluna id da tabela colaborador.
t1_2023 - O bonus do colaborador no primeiro trimestre de 2023.
t2_2023 - O bonus do colaborador no segundo trimestre de 2023.
t3_2022 - O bonus do colaborador no terceiro trimestre de 2023.
t4_2022 - O bonus do colaborador no quarto trimestre de 2023.
Agora, vamos começar a escrever as consultas SQL.
Seleção de todas as colunas de uma tabela:
Seleção de uma coluna de uma tabela:
Seleção de duas colunas em uma tabela:
Seleção de duas (ou mais) colunas de uma tabela e filtragem usando comparação numérica em WHERE:
Seleção de duas colunas e filtragem usando uma condição de igualdade em WHERE:
Seleção de duas colunas e ordenação por uma coluna:
Seleção de duas colunas e ordenação decrescente por uma coluna:
Seleção de duas colunas de uma tabela e ordenação descendente por duas colunas:
classificamos o resultado pelo salário e pelo sobrenome do colaborador. Desta vez, classificamos por salário em ordem decrescente e, em seguida, por sobrenome em ordem crescente.
Seleção de duas colunas com uma condição lógica complexa em WHERE
Resultado:
Salários entre 3000 e 5000 ficam fora da consulta.
Na consulta acima, queremos encontrar o bonus no primeiro semestre de 2023 para cada colaborador.
Para isso, primeiro selecionamos a coluna colaborador_id da tabela bonus.
Em seguida, selecionamos a coluna t1_2023 e usamos o operador aritmético de adição para adicionar a coluna t2_2023. Também damos a essa nova coluna calculada um alias de "Primeiro Semestre" usando a palavra-chave AS.
A saída mostra todos os departamentos e a soma dos custos salariais mensais totais por departamento.
Podemos usar esta função se quisermos agrupar dados e mostrar o número de ocorrências em cada grupo.
Selecione o departamento na tabela colaboradores. Em seguida, use a função de agregação COUNT(). Nesse caso, usamos a versão COUNT(*), que conta todas as linhas. Atribuímos à coluna o alias colaboradores_por_departmento.
A função AVG() calcula o valor médio. Você pode usar essa consulta sempre que quiser agrupar dados e mostrar o valor médio de cada grupo.
Selecionamos o departamento, usamos AVG() com a coluna salario e agrupamos o resultado por departamento.
Ah, sim...você gostaria de duas casas na resposta! Vamos lá...use o ROUND().
O ROUND(AVG(salario), 2) irá arredondar o valor da média do salário para duas casas decimais.
A saída mostra os departamentos e o salário mais baixo de cada departamento.
A saída mostra os departamentos e o salário mais alto de cada departamento.
A Query mostrará o salário total por departamento
Vamos supor que precisamos verificar o Nº de colaboradores que gaham salário maiores que 3500
Agora precisamos verificar qual colaborador recebeu bonus maior que 1000 nos quatro trimestres...
Conferindo...
Ourinhos-SP