Database
 sql >> Base de Dados >  >> RDS >> Database

SQL SELECIONAR SOMA


A função SQL Sum() é uma função agregada em SQL que retorna os valores totais de uma expressão. A expressão pode ser numérica ou pode ser uma expressão.

Sintaxe:
SELECT SUM(columnname) FROM table_name WHERE conditions; 

Considere as tabelas existentes que possuem os seguintes registros:

Tabela:Funcionários
EMPLOYEEID FIRST_NAME LAST_NAME SALÁRIO CIDADE DEPARTAMENTO GERENTE
1001 VAIBHAVI MISHRA 65500 PUNE ORACLE 1
1002 VAIBHAV SHARMA 60.000 NOIDA C# 5
1003 NIQUIL VANI 50500 JAIPUR FMW 2
2001 PRAQUI SHARMA 55500 CHANDIGARH ORACLE 1
2002 BHAVESH JAIN 65500 PUNE FMW 2
2003 RUCHIKA JAIN 50.000 MUMBAI C# 5
3001 PRANOTI SHENDE 55500 PUNE JAVA 3
3002 ANUJA QUERER 50500 JAIPUR FMW 2
3003 DEEPAM JAUHARI 58500 MUMBAI JAVA 3
4001 RAJESH GOUD 60500 MUMBAI TESTE 4
4002 ASHWINI BOLSA 54500 NOIDA JAVA 3
4003 RUCHIKA AGARWAL 60.000 DÉLHI ORACLE 1
5001 ARQUIVO SHARMA 55500 DÉLHI TESTE 4

Exemplo 1: Escreva uma consulta que some o salário total dos funcionários da tabela de funcionários.
SELECT SUM (SALARY) AS 'SALARY' FROM EMPLOYEES;

A expressão Sum exibirá a soma do salário total. s

Saída:
SALÁRIO
742000

Exemplo 2: Escreva uma consulta para somar o salário dos funcionários cuja cidade é Pune da tabela dos funcionários.
SELECT CITY, SUM(SALARY) AS 'SALARY'  FROM EMPLOYEES WHERE CITY = 'PUNE';

Esta consulta fará uma soma do salário dos funcionários cuja cidade é Pune.

Saída:
CIDADE SALÁRIO
PUNE 186500

Exemplo 3: Escreva uma consulta para somar o salário dos funcionários da tabela de funcionários cujo departamento é Oracle.
SELECT DEPARTMENT, SUM(SALARY) AS 'SALARY'  FROM EMPLOYEES WHERE DEPARTMENT = 'ORACLE';

Saída:
DEPARTAMENTO SALÁRIO
ORACLE 181000

Exemplo 4: Escreva uma consulta para somar o salário dos funcionários da tabela de funcionários cujo departamento inclui oracle e FMW.
SELECT SUM(SALARY) AS 'SALARY'  FROM EMPLOYEES WHERE DEPARTMENT IN ('ORACLE', 'FMW');

Saída:
SALÁRIO
347500

Exemplo 4: Escreva uma consulta para o salário somado dos funcionários da tabela de funcionários cujo salário é maior que 50.000 e a cidade inclui Pune e Mumbai.
SELECT CITY, SUM(SALARY) AS EMPLOYEE_SALARY FROM EMPLOYEES WHERE SALARY > 50000 AND CITY IN ('PUNE', 'MUMBAI') GROUP BY CITY;

Saída :
CIDADE SALÁRIO_FUNCIONÁRIO
PUNE 119000
MUMBAI 186500

Exemplo 5: Escreva uma consulta para somar o salário dos funcionários da tabela de funcionários cujo salário seja maior que 50.000 ou cidade inclua Oracle, FMW e agrupe por departamento.
SELECT DEPARTMENT, SUM(SALARY) AS EMPLOYEE_SALARY FROM EMPLOYEES WHERE SALARY > 50000 OR DEPARTMENT IN ('ORACLE', 'FMW') GROUP BY DEPARTMENT;

Saída:
DEPARTAMENTO SALÁRIO_FUNCIONÁRIO
C# 60.000
FMW 166500
JAVA 168500
ORACLE 181000
TESTE 116000

Exemplo 6: Escreva uma consulta para somar o salário dos funcionários da tabela de funcionários usando cidades exclusivas de funcionários e agrupe por cidade.
SELECT CITY, SUM(DISTINCT SALARY) AS 'EMPLOYEE_SALARY' FROM EMPLOYEES GROUP BY CITY;

Saída:
CIDADE SALÁRIO_FUNCIONÁRIO
CHANDIGARH 55500
DÉLHI 115500
JAIPUR 50500
MUMBAI 169000
NOIDA 114500
PUNE 121000

Exemplo 7: Escreva uma consulta para somar o salário dos funcionários da tabela de funcionários que possuem departamento exclusivo e agrupe por departamento.
SELECT DEPARTMENT, SUM(DISTINCT SALARY) AS 'EMPLOYEE_SALARY' FROM EMPLOYEES GROUP BY DEPARTMENT;

Saída:
DEPARTAMENTO SALÁRIO_FUNCIONÁRIO
C# 110000
FMW 116000
JAVA 168500
ORACLE 181000
TESTE 116000

Exemplo 8: Escreva uma consulta para somar o salário dos funcionários da tabela de funcionários e agrupe por cidade, departamento.
SELECT CITY, DEPARTMENT, SUM(SALARY) AS 'EMPLOYEE_SALARY' FROM EMPLOYEES GROUP BY CITY, DEPARTMENT;

Saída:
CIDADE DEPARTAMENTO SALÁRIO_FUNCIONÁRIO
CHANDIGARH ORACLE 55500
DÉLHI ORACLE 60.000
DÉLHI TESTE 55500
JAIPUR FMW 101000
MUMBAI C# 50.000
MUMBAI JAVA 58500
MUMBAI TESTE 60500
NOIDA C# 60.000
NOIDA JAVA 54500
PUNE FMW 65500
PUNE JAVA 55500
PUNE ORACLE 65500

Exemplo 9: Escreva uma consulta para somar o salário dos funcionários do grupo da tabela de funcionários pela cidade onde o salário agregado é maior que 75.000.
SELECT CITY, SUM(SALARY) AS SALARY FROM EMPLOYEES GROUP BY CITY HAVING SUM(SALARY) > 75000;

Saída:
CIDADE SALÁRIO
DÉLHI 115500
JAIPUR 101000
MUMBAI 169000
NOIDA 114500
PUNE 186500

Como podemos ver, tem apenas cidades que o salário agregado é superior a 75.000.

Exemplo 10: Escreva uma consulta para somar o salário de um funcionário com um laptop e agrupe por departamento.
SELECT DEPARTMENT, SUM(SALARY) AS SALARY FROM EMPLOYEES WHERE EMPLOYEEID IN (SELECT EMPLOYEEID FROM LAPTOP) GROUP BY DEPARTMENT;

Saída:
DEPARTAMENTO SALÁRIO
C# 60.000
JAVA 113000
ORACLE 60.000
TESTE 55500

Exemplo 11: Escreva uma consulta para somar o salário dos funcionários com o laptop e agrupe pelo departamento em que o salário agregado é maior que 58.000.
SELECT DEPARTMENT, SUM(SALARY) AS SALARY FROM EMPLOYEES WHERE EMPLOYEEID IN (SELECT EMPLOYEEID FROM LAPTOP) GROUP BY DEPARTMENT HAVING SUM(SALARY) > 58000;

Saída:
DEPARTAMENTO SALÁRIO
C# 60.000
JAVA 113000
ORACLE 60.000