-- schema for worksfor thing create table employee ( id int auto_increment, name varchar(30), email varchar(60), primary key(id) ); insert employee (name,email) values ('bob','bob@yahoo.com'); insert employee (name,email) values ('bill','bill@hotmail.com'); insert employee (name,email) values ('jane','jane@aol.com'); insert employee (name,email) values ('john','john@doe.com'); insert employee (name,email) values ('marry','marry@msn.com'); create table department ( id int auto_increment, name varchar(40), primary key(id) ); insert department (name) values ('acct'); insert department (name) values ('hr'); insert department (name) values ('it'); create table worksfor ( employeeid int, departmentid int, salary DECIMAL(12,2) DEFAULT '0.00' NOT NULL, primary key(employeeid,departmentid) ); insert worksfor (employeeid,departmentid,salary) values (1,2,20000); insert worksfor (employeeid,departmentid,salary) values (2,2,15000); insert worksfor (employeeid,departmentid,salary) values (3,1,60000); insert worksfor (employeeid,departmentid,salary) values (4,3,50000); insert worksfor (employeeid,departmentid,salary) values (5,2,30000); insert worksfor (employeeid,departmentid,salary) values (3,2,10000); insert worksfor (employeeid,departmentid,salary) values (1,1,45000); Who makes how much per year? select e.id, e.name from employee e; select w.employeeid,w.departmentid,w.salary from worksfor w; --OLD QUERY select e.id, e.name, w.departmentid,w.salary from employee e, worksfor w where e.id = w.employeeid; -- NEW QUERY select e.id, e.name, sum(w.salary) from employee e, worksfor w where e.id = w.employeeid group by e.id, e.name; select departmentid,count(employeeid) from worksfor group by departmentid http://www.mysql.com/