一道題來對mysql的鏈接查詢複習

題目如上,下面是我按照上面的表字段本身建的表mysql

carsql

customerspa

employee3d

saleblog

下面是對第四問的的解答,用的是mysql 的鏈接查詢,可能方法有點麻煩。class

個人想法很簡單,這個查詢針對多個表,我就把須要查詢的結果一個個的先作簡單查詢,最後再進行組合。方法

第一步:從sale和car表中查出每一個員工的銷售額:im

SELECT sale.EMPnum,SUM((sale.CARnum*car.Cprice)) AS money  FROM sale,car WHERE sale.CARnum=car.Cid GROUP BY EMPnum;#從sale和car表中查出每一個員工的

第二步:查詢每一個員工的銷售數量:查詢

SELECT EMPnum,COUNT(EMPnum) AS num FROM sale GROUP BY EMPnum;#查詢每一個員工的銷售數量  

第三步:查詢員工的名稱:  img

SELECT Eid,Ename FROM Employee;#查詢員工的名字

第四步:將第一步和第二步的結果作爲此次查詢的表,查詢每一個員工的銷售額和銷售數量:

 

SELECT t1.EMPnum,t1.money,t2.num FROM (SELECT sale.EMPnum,SUM((sale.CARnum*car.Cprice)) AS money  FROM sale,car WHERE sale.CARnum=car.Cid GROUP BY EMPnum) AS t1 ,(SELECT EMPnum,COUNT(EMPnum) AS num FROM sale GROUP BY EMPnum) AS t2 WHERE t1.EMPnum=t2.EMPnum;

 

 第五步:將第四步的結果和第三步的結果作爲這步的查詢表,查詢最後的結果

SELECT t3.EMPnum,t3.money,t3.num,t4.Ename FROM (SELECT t1.EMPnum,t1.money,t2.num FROM (SELECT sale.EMPnum,SUM((sale.CARnum*car.Cprice)) AS money  FROM sale,car WHERE sale.CARnum=car.Cid GROUP BY EMPnum) AS t1 ,(SELECT EMPnum,COUNT(EMPnum) AS num FROM sale GROUP BY EMPnum) AS t2 WHERE t1.EMPnum=t2.EMPnum) AS t3,(SELECT Eid,Ename FROM Employee) AS t4 WHERE t3.EMPnum=t4.Eid;
相關文章
相關標籤/搜索