Die Funktion SQL Sum() ist eine Aggregatfunktion in SQL, die die Gesamtwerte eines Ausdrucks zurückgibt. Der Ausdruck kann numerisch oder ein Ausdruck sein.
Syntax:
SELECT SUM(columnname) FROM table_name WHERE conditions;
Betrachten Sie die vorhandenen Tabellen mit den folgenden Einträgen:
Tabelle:Mitarbeiter
MITARBEITERID | FIRST_NAME | NACHNAME | GEHALT | STADT | ABTEILUNG | MANAGERID |
1001 | VAIBHAVI | MISHRA | 65500 | PUNE | ORACLE | 1 |
1002 | VAIBHAV | SHARMA | 60000 | NOIDA | C# | 5 |
1003 | NICHIL | VANI | 50500 | JAIPUR | FMW | 2 |
2001 | PRACHI | SHARMA | 55500 | CHANDIGARH | ORACLE | 1 |
2002 | BHAVESH | JAIN | 65500 | PUNE | FMW | 2 |
2003 | RUSCHIKA | JAIN | 50000 | MUMBAI | C# | 5 |
3001 | PRANOTI | SCHENDE | 55500 | PUNE | JAVA | 3 |
3002 | ANUJA | WANRE | 50500 | JAIPUR | FMW | 2 |
3003 | DEEPAM | JAUHARI | 58500 | MUMBAI | JAVA | 3 |
4001 | RAJESH | GOLD | 60500 | MUMBAI | TESTEN | 4 |
4002 | ASHWINI | BAGHAT | 54500 | NOIDA | JAVA | 3 |
4003 | RUSCHIKA | AGARWAL | 60000 | DELHI | ORACLE | 1 |
5001 | ARCHIT | SHARMA | 55500 | DELHI | TESTEN | 4 |
Beispiel 1: Schreiben Sie eine Abfrage, die das Gesamtgehalt der Mitarbeiter aus der Mitarbeitertabelle summiert.
SELECT SUM (SALARY) AS 'SALARY' FROM EMPLOYEES;
Der Sum-Ausdruck zeigt die Summe des Gesamtgehalts an. s
Ausgabe:
GEHALT |
742000 |
Beispiel 2: Schreiben Sie eine Abfrage, um das Gehalt von Mitarbeitern, deren Stadt Pune ist, aus der Mitarbeitertabelle zu summieren.
SELECT CITY, SUM(SALARY) AS 'SALARY' FROM EMPLOYEES WHERE CITY = 'PUNE';
Diese Abfrage berechnet eine Summe des Gehalts der Angestellten, deren Stadt Pune ist.
Ausgabe:
STADT | GEHALT |
PUNE | 186500 |
Beispiel 3: Schreiben Sie eine Abfrage, um das Gehalt der Mitarbeiter aus der Mitarbeitertabelle der Mitarbeiter zu summieren, deren Abteilung Oracle ist.
SELECT DEPARTMENT, SUM(SALARY) AS 'SALARY' FROM EMPLOYEES WHERE DEPARTMENT = 'ORACLE';
Ausgabe:
ABTEILUNG | GEHALT |
ORACLE | 181000 |
Beispiel 4: Schreiben Sie eine Abfrage, um das Gehalt der Mitarbeiter aus der Mitarbeitertabelle zu summieren, deren Abteilung Oracle und FMW enthält.
SELECT SUM(SALARY) AS 'SALARY' FROM EMPLOYEES WHERE DEPARTMENT IN ('ORACLE', 'FMW');
Ausgabe:
GEHALT |
347500 |
Beispiel 4: Schreiben Sie eine Abfrage zum summierten Gehalt von Mitarbeitern aus der Tabelle der Mitarbeiter, deren Gehalt größer als 50000 ist und deren Stadt Pune und Mumbai umfasst.
SELECT CITY, SUM(SALARY) AS EMPLOYEE_SALARY FROM EMPLOYEES WHERE SALARY > 50000 AND CITY IN ('PUNE', 'MUMBAI') GROUP BY CITY;
Ausgabe :
STADT | EMPLOYEE_SALARY |
PUNE | 119000 |
MUMBAI | 186500 |
Beispiel 5: Schreiben Sie eine Abfrage, um das Gehalt von Mitarbeitern aus der Tabelle der Mitarbeiter zu summieren, deren Gehalt größer als 50000 ist oder deren Stadt Oracle, FMW und die Gruppe nach Abteilung umfasst.
SELECT DEPARTMENT, SUM(SALARY) AS EMPLOYEE_SALARY FROM EMPLOYEES WHERE SALARY > 50000 OR DEPARTMENT IN ('ORACLE', 'FMW') GROUP BY DEPARTMENT;
Ausgabe:
ABTEILUNG | EMPLOYEE_SALARY |
C# | 60000 |
FMW | 166500 |
JAVA | 168500 |
ORACLE | 181000 |
TESTEN | 116000 |
Beispiel 6: Schreiben Sie eine Abfrage, um das Gehalt der Mitarbeiter aus der Mitarbeitertabelle zu summieren, indem Sie eindeutige Städte der Mitarbeiter verwenden und nach Stadt gruppieren.
SELECT CITY, SUM(DISTINCT SALARY) AS 'EMPLOYEE_SALARY' FROM EMPLOYEES GROUP BY CITY;
Ausgabe:
STADT | EMPLOYEE_SALARY |
CHANDIGARH | 55500 |
DELHI | 115500 |
JAIPUR | 50500 |
MUMBAI | 169000 |
NOIDA | 114500 |
PUNE | 121000 |
Beispiel 7: Schreiben Sie eine Abfrage, um das Gehalt von Mitarbeitern aus der Mitarbeitertabelle zu summieren, die eine eindeutige Abteilung und eine Gruppe nach Abteilung haben.
SELECT DEPARTMENT, SUM(DISTINCT SALARY) AS 'EMPLOYEE_SALARY' FROM EMPLOYEES GROUP BY DEPARTMENT;
Ausgabe:
ABTEILUNG | EMPLOYEE_SALARY |
C# | 110000 |
FMW | 116000 |
JAVA | 168500 |
ORACLE | 181000 |
TESTEN | 116000 |
Beispiel 8: Schreiben Sie eine Abfrage, um das Gehalt der Mitarbeiter aus der Mitarbeitertabelle zu summieren und nach Stadt, Abteilung zu gruppieren.
SELECT CITY, DEPARTMENT, SUM(SALARY) AS 'EMPLOYEE_SALARY' FROM EMPLOYEES GROUP BY CITY, DEPARTMENT;
Ausgabe:
STADT | ABTEILUNG | EMPLOYEE_SALARY |
CHANDIGARH | ORACLE | 55500 |
DELHI | ORACLE | 60000 |
DELHI | TESTEN | 55500 |
JAIPUR | FMW | 101000 |
MUMBAI | C# | 50000 |
MUMBAI | JAVA | 58500 |
MUMBAI | TESTEN | 60500 |
NOIDA | C# | 60000 |
NOIDA | JAVA | 54500 |
PUNE | FMW | 65500 |
PUNE | JAVA | 55500 |
PUNE | ORACLE | 65500 |
Beispiel 9: Schreiben Sie eine Abfrage, um das Gehalt der Mitarbeiter aus der Tabellengruppe der Mitarbeiter nach der Stadt zu summieren, in der das Gesamtgehalt größer als 75000 ist.
SELECT CITY, SUM(SALARY) AS SALARY FROM EMPLOYEES GROUP BY CITY HAVING SUM(SALARY) > 75000;
Ausgabe:
STADT | GEHALT |
DELHI | 115500 |
JAIPUR | 101000 |
MUMBAI | 169000 |
NOIDA | 114500 |
PUNE | 186500 |
Wie wir sehen können, gibt es nur Städte mit einem Gesamtgehalt von mehr als 75000.
Beispiel 10: Schreiben Sie eine Abfrage, um das Gehalt eines Mitarbeiters mit einem Laptop zu summieren und nach Abteilung zu gruppieren.
SELECT DEPARTMENT, SUM(SALARY) AS SALARY FROM EMPLOYEES WHERE EMPLOYEEID IN (SELECT EMPLOYEEID FROM LAPTOP) GROUP BY DEPARTMENT;
Ausgabe:
ABTEILUNG | GEHALT |
C# | 60000 |
JAVA | 113000 |
ORACLE | 60000 |
TESTEN | 55500 |
Beispiel 11: Schreiben Sie eine Abfrage, um das Gehalt der Mitarbeiter mit Laptop zu summieren und nach der Abteilung zu gruppieren, in der das Gesamtgehalt größer als 58.000 ist.
SELECT DEPARTMENT, SUM(SALARY) AS SALARY FROM EMPLOYEES WHERE EMPLOYEEID IN (SELECT EMPLOYEEID FROM LAPTOP) GROUP BY DEPARTMENT HAVING SUM(SALARY) > 58000;
Ausgabe:
ABTEILUNG | GEHALT |
C# | 60000 |
JAVA | 113000 |
ORACLE | 60000 |