推薦 考考大家乙個問題 SQL能力

2021-05-12 10:27:23 字數 679 閱讀 2422

兩個表.

tb1(五千萬條記錄)

zkzh --准考證號,

th  --題號

da  --考生答案

tb2(100條記錄)

th  --題號

da  --標準答案

fs  --分數

tb1:zkzh + th 主鍵

tb2:th 主鍵

兩表目前除主鍵無其他

索引.現在問:要得到每個考生每個題所得的分數.

條件 tb1.th = tb2.th and tb1.da = tb2.da

如果才能最快(或者較快)得到結果.

以下是兩鐘方案

方案一:

在tb1,加個字段fs,預設為0

update tb1 set fs = tb2.fs from tb1 , tb2 where tb1.th = tb2.th and tb1.da = tb2.da

方案二:

新建乙個表,tb3 (zkzh , th , da , fs)

insert into tb3 select m.* , case when tb1.da = tb2.da then tb2.fs else 0 end from tb1 , tb2 , where tb1.th = tb2.th

各位觀眾認為那個方案好.或者有更好的其他方案.

推薦大家乙個管理時間的軟體

task coach 是乙個簡單但是實用的時間管理的軟體。現實中,我們坐在電腦前面經常會東搞一下,西搞一下,搞到每天的時間不知道花在那裡去了。或者我們做敏捷開發的時候,使用者測試時候,經常要修補很多小問題,每個小問題花了多少時間?整個測試完成花了多少時間?不知道了吧?那就趕快用用這個工具吧。它可以按...

推薦大家乙個管理時間的軟體

task coach 是乙個簡單但是實用的時間管理的軟體。現實中,我們坐在電腦前面經常會東搞一下,西搞一下,搞到每天的時間不知道花在那裡去了。或者我們做敏捷開發的時候,使用者測試時候,經常要修補很多小問題,每個小問題花了多少時間?整個測試完成花了多少時間?不知道了吧?那就趕快用用這個工具吧。它可以按...

推薦大家乙個管理時間的軟體

task coach 是乙個簡單但是實用的時間管理的軟體。現實中,我們坐在電腦前面經常會東搞一下,西搞一下,搞到每天的時間不知道花在那裡去了。或者我們做敏捷開發的時候,使用者測試時候,經常要修補很多小問題,每個小問題花了多少時間?整個測試完成花了多少時間?不知道了吧?那就趕快用用這個工具吧。它可以按...