Fungsi SQL Sum() adalah fungsi agregat dalam SQL yang mengembalikan nilai total ekspresi. Ekspresi mungkin numerik, atau mungkin ekspresi.
Sintaks:
SELECT SUM(columnname) FROM table_name WHERE conditions;
Pertimbangkan tabel yang ada yang memiliki catatan berikut:
Tabel:Karyawan
KARYAWAN | FIRST_NAME | LAST_NAME | GAJI | KOTA | DEPARTEMEN | MANAGERID |
1001 | VAIBHAVI | MISHRA | 65500 | PUNE | ORACLE | 1 |
1002 | VAIBHAV | SHARMA | 60000 | NOIDA | C# | 5 |
1003 | NIKHIL | VANI | 50500 | JAIPUR | FMW | 2 |
2001 | PRACHI | 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 | WANRE | 50500 | JAIPUR | FMW | 2 |
3003 | DEEPAM | JAUHARI | 58500 | MUMBAI | JAVA | 3 |
4001 | RAJESH | BAIK | 60500 | MUMBAI | UJI | 4 |
4002 | ASHWINI | BAGHAT | 54500 | NOIDA | JAVA | 3 |
4003 | RUCHIKA | AGRWAL | 60000 | DELHI | ORACLE | 1 |
5001 | ARKIT | SHARMA | 55500 | DELHI | UJI | 4 |
Contoh 1: Tulis kueri yang menjumlahkan total gaji karyawan dari tabel karyawan.
SELECT SUM (SALARY) AS 'SALARY' FROM EMPLOYEES;
Ekspresi Sum akan menampilkan jumlah total gaji. s
Keluaran:
GAJI |
742000 |
Contoh 2: Tulis kueri untuk menjumlahkan gaji karyawan yang kotanya Pune dari tabel karyawan.
SELECT CITY, SUM(SALARY) AS 'SALARY' FROM EMPLOYEES WHERE CITY = 'PUNE';
Kueri ini akan membuat jumlah gaji karyawan yang kotanya Pune.
Keluaran:
KOTA | GAJI |
PUNE | 186500 |
Contoh 3: Tulis kueri untuk menjumlahkan gaji karyawan dari tabel karyawan yang departemennya adalah Oracle.
SELECT DEPARTMENT, SUM(SALARY) AS 'SALARY' FROM EMPLOYEES WHERE DEPARTMENT = 'ORACLE';
Keluaran:
DEPARTEMEN | GAJI |
ORACLE | 181000 |
Contoh 4: Tulis kueri untuk menjumlahkan gaji karyawan dari tabel karyawan yang departemennya mencakup Oracle dan FMW.
SELECT SUM(SALARY) AS 'SALARY' FROM EMPLOYEES WHERE DEPARTMENT IN ('ORACLE', 'FMW');
Keluaran:
GAJI |
347500 |
Contoh 4: Tulis kueri untuk menjumlahkan gaji karyawan dari tabel karyawan yang gajinya lebih besar dari 50000 dan kota termasuk Pune, dan Mumbai.
SELECT CITY, SUM(SALARY) AS EMPLOYEE_SALARY FROM EMPLOYEES WHERE SALARY > 50000 AND CITY IN ('PUNE', 'MUMBAI') GROUP BY CITY;
Keluaran :
KOTA | GAJI_KARYAWAN |
PUNE | 119.000 |
MUMBAI | 186500 |
Contoh 5: Tulis kueri untuk menjumlahkan gaji karyawan dari tabel karyawan yang gajinya lebih besar dari 50000 atau kota termasuk Oracle, FMW, dan grup menurut departemen.
SELECT DEPARTMENT, SUM(SALARY) AS EMPLOYEE_SALARY FROM EMPLOYEES WHERE SALARY > 50000 OR DEPARTMENT IN ('ORACLE', 'FMW') GROUP BY DEPARTMENT;
Keluaran:
DEPARTEMEN | GAJI_KARYAWAN |
C# | 60000 |
FMW | 166500 |
JAVA | 168500 |
ORACLE | 181000 |
UJI | 116000 |
Contoh 6: Tulis kueri untuk menjumlahkan gaji karyawan dari tabel karyawan menggunakan kota unik karyawan dan kelompok berdasarkan kota.
SELECT CITY, SUM(DISTINCT SALARY) AS 'EMPLOYEE_SALARY' FROM EMPLOYEES GROUP BY CITY;
Keluaran:
KOTA | GAJI_KARYAWAN |
CHANDIGARH | 55500 |
DELHI | 115500 |
JAIPUR | 50500 |
MUMBAI | 169.000 |
NOIDA | 114500 |
PUNE | 121000 |
Contoh 7: Tulis kueri untuk menjumlahkan gaji karyawan dari tabel karyawan yang memiliki departemen dan grup unik berdasarkan departemen.
SELECT DEPARTMENT, SUM(DISTINCT SALARY) AS 'EMPLOYEE_SALARY' FROM EMPLOYEES GROUP BY DEPARTMENT;
Keluaran:
DEPARTEMEN | GAJI_KARYAWAN |
C# | 110000 |
FMW | 116000 |
JAVA | 168500 |
ORACLE | 181000 |
UJI | 116000 |
Contoh 8: Tulis kueri untuk menjumlahkan gaji karyawan dari tabel karyawan dan kelompok menurut kota, departemen.
SELECT CITY, DEPARTMENT, SUM(SALARY) AS 'EMPLOYEE_SALARY' FROM EMPLOYEES GROUP BY CITY, DEPARTMENT;
Keluaran:
KOTA | DEPARTEMEN | GAJI_KARYAWAN |
CHANDIGARH | ORACLE | 55500 |
DELHI | ORACLE | 60000 |
DELHI | UJI | 55500 |
JAIPUR | FMW | 101000 |
MUMBAI | C# | 50.000 |
MUMBAI | JAVA | 58500 |
MUMBAI | UJI | 60500 |
NOIDA | C# | 60000 |
NOIDA | JAVA | 54500 |
PUNE | FMW | 65500 |
PUNE | JAVA | 55500 |
PUNE | ORACLE | 65500 |
Contoh 9: Tulis kueri untuk menjumlahkan gaji karyawan dari grup tabel karyawan menurut kota di mana gaji agregat lebih besar dari 75000.
SELECT CITY, SUM(SALARY) AS SALARY FROM EMPLOYEES GROUP BY CITY HAVING SUM(SALARY) > 75000;
Keluaran:
KOTA | GAJI |
DELHI | 115500 |
JAIPUR | 101000 |
MUMBAI | 169.000 |
NOIDA | 114500 |
PUNE | 186500 |
Seperti yang bisa kita lihat, hanya kota-kota yang gaji agregatnya lebih besar dari 75.000.
Contoh 10: Tulis kueri untuk menjumlahkan gaji karyawan dengan laptop dan dikelompokkan berdasarkan departemen.
SELECT DEPARTMENT, SUM(SALARY) AS SALARY FROM EMPLOYEES WHERE EMPLOYEEID IN (SELECT EMPLOYEEID FROM LAPTOP) GROUP BY DEPARTMENT;
Keluaran:
DEPARTEMEN | GAJI |
C# | 60000 |
JAVA | 113000 |
ORACLE | 60000 |
UJI | 55500 |
Contoh 11 Tulis kueri untuk menjumlahkan gaji karyawan dengan laptop dan dikelompokkan menurut departemen yang gaji agregatnya lebih besar dari 58000.
SELECT DEPARTMENT, SUM(SALARY) AS SALARY FROM EMPLOYEES WHERE EMPLOYEEID IN (SELECT EMPLOYEEID FROM LAPTOP) GROUP BY DEPARTMENT HAVING SUM(SALARY) > 58000;
Keluaran:
DEPARTEMEN | GAJI |
C# | 60000 |
JAVA | 113000 |
ORACLE | 60000 |