我正在寫一個簡單的查詢,用於在Oracle數據庫中查找每個部門的工資貢獻。用於計算每個部門的工資貢獻的SQL
這裏是我的表:
CREATE TABLE employee (
empid NUMBER,
fname VARCHAR2(20),
deptid NUMBER,
salary NUMBER
);
CREATE TABLE department (
deptid NUMBER,
deptname VARCHAR2(20)
);
將數據插入到這個表:
INSERT INTO department VALUES (1, 'Sales');
INSERT INTO department VALUES (2, 'Accounting');
INSERT INTO employee VALUES (1,' John', 1,100);
INSERT INTO employee VALUES (2,' Lisa', 2,200);
INSERT INTO employee VALUES (3,' Jerry', 1,300);
INSERT INTO employee VALUES (4,' Sara', 1,400);
我們發現通過我使用下面的查詢各部門以百分比的薪水貢獻:
select dept.deptname, sum(emp.salary)/(select sum(emp.salary) from employee emp)*100 as percentge from employee emp, department dept where dept.deptid=emp.deptid group by dept.deptname;
這是計算我的輸出的有效方式還是有其他方法嗎?
非常感謝Gordon,我還在學習查詢,請問我可以告訴我使用子查詢有什麼問題?我不知道分析函數,因此,如果您可以提供有關您發佈的查詢的一些詳細信息,並且如果可能的話,您可以請建議我可以在哪裏學習分析查詢,這會有所幫助。 – Chaitanya
@ user2065083您可以在Oracle數據庫SQL語言參考中瞭解分析函數。 http://docs.oracle.com/cd/E11882_01/server.112/e26088/functions004.htm#SQLRF06174 –