一道題來對mysql的連線查詢複習

2022-05-13 12:13:27 字數 1427 閱讀 1059

題目如上,下面是我按照上面的表字段自己建的表

carcustomer

employee

sale

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

我的想法很簡單,這個查詢針對多個表,我就把需要查詢的結果乙個個的先做簡單查詢,最後再進行組合。

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

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;#查詢每個員工的銷售數量  

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

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;

華為的一道題

看了別人的解法沒有看懂,自己寫的 int a nsize 其中隱藏著若干0,其餘非0整數,寫乙個函式int func int a,int nsize 使a把0移至後面,非0整數移至 陣列前面並保持有序,返回值為原資料中第乙個元素為0的下標。盡可能不使用輔助空間且考慮效率及異常問題,注釋規範且給出設計...

一道簡單的題

阿里巴巴的一道面試題 25.給定乙個整數陣列和乙個整數,返回兩個陣列的索引,這兩個索引指向的數字的加和等於指定的整數。需要最優的演算法,分析演算法的空間和時間複雜度。include include using namespace std struct stwoindex 初始化,同時等於0,說明不存...

一道題 測試你對多型的了解?

題目 根據題目,寫出自己的答案 多型練習 author public class moremodule class a public string show a obj class b extends a public string show a obj class c extends b clas...