- 相關推薦
小于45歲的各個老師所帶的大于12歲的學生人數javascript代碼怎么
求出小于45歲的各個老師所帶的大于12歲的學生人數javascript代碼
數據庫中有3個表teacher表,student表,tea_stu關系表。
teacher表teaIDnameage
student表stuIDnameage
teacher_student表teaIDstuID
要求用一條sql查詢出這樣的結果
1.顯示的字段要有老師name,age每個老師所帶的學生人數
2只列出老師age為40以下,學生age為12以上的記錄
預備知識:
1.sql語句是對每一條記錄依次處理,條件為真則執行動作(select,,,update)
2.只要是迪卡爾積,就會產生“垃圾”信息,所以,只要迪卡爾積了,我們首先就要想到清除“垃圾”信息
實驗準備:
droptableifexiststea_stu;
droptableifexiststeacher;
droptableifexistsstudent;
createtableteacher(teaIDintprimarykey,namevar50),ageint);
createtablestudent(stuIDintprimarykey,namevar50),ageint);
createtabletea_stu(teaIDintreferencesteacher(teaID),stuIDintreferencesstudent(stuID));
intoteachervalues(1,’zxx’,45),(2,’lhm’,25),(3,’wzg’,26),(4,’tg’,27);
intostudentvalues(1,’wy’,11),(2,’dh’,25),(3,’ysq’,26),(4,’mxc’,27);
intotea_stuvalues(1,1),(1,2),(1,3);
intotea_stuvalues(2,2),(2,3),(2,4);
intotea_stuvalues(3,3),(3,4),(3,1);
intotea_stuvalues(4,4),(4,1),(4,2),(4,3);
結果:2à3,3à2,4à3
解題思路:(真實面試答題時,也要寫出每個分析步驟,如果紙張不夠,就找別人要)
1要會統計分組信息,統計信息放在中間表中:
selectteaid,count(*)fromtea_stugroupbyteaid;
2接著其實應該是篩除掉小于12歲的學生,然后再進行統計,中間表必須與student關聯才能得到12歲以下學生和把該學生記錄從中間表中剔除,代碼是:
selecttea_stu.teaid,count(*)totalfromstudent,tea_stu
wherestudent.stuid=tea_stu.stuidandstudent.age>12groupbytea_stu.teaid
3.接著把上面的結果做成虛表與teacher進行關聯,并篩除大于45的老師
selectteacher.teaid,teacher.name,totalfromteacher,(selecttea_stu.tea
id,count(*)totalfromstudent,tea_stuwherestudent.stuid=tea_stu.stuidandstu
dent.age>12groupbytea_stu.teaid)astea_stu2whereteacher.teaid=tea_stu2.tea
idandteacher.age<45;
JavaScript函數定義
JavaScript函數定義
Function 函數名 (參數,變元){
函數體;.
Return 表達式;
說明:
當調用函數時,所用變量或字面量均可作為變元傳遞。
函數由關鍵字Function定義。
函數名:定義自己函數的名字。
參數表,是傳遞給函數使用或操作的值,其值可以是常量 ,變量或其它表達式。
通過指定函數名(實參)來調用一個函數。
必須使用Return將值返回。
函數名對大小寫是敏感的。
【小于45歲的各個老師所帶的大于12歲的學生人數javascript代碼怎】相關文章:
高效編寫JavaScript代碼的技巧08-25
在Java中執行JavaScript代碼07-14
JavaScript實現網頁刷新代碼段08-07
關jQuery彈出窗口簡單實現代碼-javascript編程06-07
關于ASP.NET使用JavaScript顯示信息提示窗口實現原理及代碼05-09
對javascript的理解08-08
常用的JavaScript模式09-22
Javascript的this用法簡述08-15