【各大软件公司NET工程师笔试压轴题】-不得不看_第1页
【各大软件公司NET工程师笔试压轴题】-不得不看_第2页
【各大软件公司NET工程师笔试压轴题】-不得不看_第3页
【各大软件公司NET工程师笔试压轴题】-不得不看_第4页
【各大软件公司NET工程师笔试压轴题】-不得不看_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、纵览各大大社区、论坛,各大OORM框框架火得得不行了了,如NNHibbernnatee、LIINQ to SQLL、ADDO.NNET Enttityy frrameeworrk等,还有最最近市场场上出版版的一本本叫领领域驱动动设计与与模式实实战,里面也也凸显了了不少NNHibbernnatee在领域域驱动设设计中的的作用与与地位,也算是是第一本本与NHHibeernaate相相关的书书籍吧!不过就就NHiiberrnatte而言言还是没没有官方方文档介介绍得详详细呵呵呵,园子子里Kiilerr已经把把他翻译译成中文文版的了了,收益益一大片片仅仅是是CETT-4的的人。不不管你是是用NHHib

2、eernaate也也好,还还是用LLINQQ too SQQL也好好,用pproffileer一跟跟踪,执执行的都都是SQQL语句句,所以以所SQQL是根根。特别别是对于于那些以以数据为为中心的的应用系系统,在在数据库库中实现现复杂的的存储过过程,复复杂的报报表查询询,还是是直接SSQL来来得痛快快。当然然对于那那些在基基于.NNET的的中间层层应用中中,它们们实现面面向对象象的业务务模型和和商业逻逻辑的应应用,NNHibbernnatee是最有有用的。不管怎怎样,NNHibbernnatee一定可可以帮助助你消除除或者包包装那些些针对特特定厂商商的SQQL代码码,并且且帮你把把结果集集从表格

3、格式的表表示形式式转换到到一系列列的对象象去(官官方文档档)。 有有点跑题题了,不不再啰嗦嗦-直接接晾出压压轴题。压轴题第第一问1.把表表一转换换为表二二表一:表二:数据库代代码如下下:代码 1DDROPPtaablee#sstuddentt2CREEATEETAABLEE#sstuddentt(sstdnnameenvvarccharr(100),sstdssubjjecttnvvarccharr(100),rresuultintt)3INSSERTTINNTO#sttudeentVALLUESS(张三,语文文,80)4INSSERTTINNTO#sttudeentvalluess(张三,数

4、学学,90)5INSSERTTINNTO#sttudeentVALLUESS(张三,物理理,85)6INSSERTTINNTO#sttudeentVALLUESS(李四,语文文,85)7INSSERTTINNTO#sttudeentvalluess(李四,数学学,92)8INSSERTTINNTO#sttudeentVALLUESS(李四,物理理,82)9INSSERTTINNTO#sttudeentVALLUESS(李四,化学学,82)10INSSERTTINNTO#sttudeentVALLUESS(李四,化学学,82)11SELLECTT*FROOM#stuudennt可能很很多老手手们

5、,一一看到这这题目就就有了答答案。当当然,贴贴出答案案来不是是我的目目的,我我要带着着SQLL新手们们重构到到答案。用李建建忠老师师最爱说说的话就就是-我不不建议一一上来就就套用模模式,而而应该从从重构到到模式。首先大家家会想到到分两组组1 seelecctsstdnnamee,froom#stuudenntggrouupbbysstdnnamee然后中间间该写什什么呢?代码 1caasestddsubbjecctwwhenn化化学theenRResuultendd2caasestddsubbjecctwwhenn语语文theenRResuultendd3caasesstdssubjjectt

6、whhentheenRResuultendd4caasestddsubbjecctwwhennthhenRessulttennd5cassesstdssubjjecttwhhentheenRResuultendd表二里面面得0是是哪里来来的呢?代码 1issnulll(ssum(cassesstdssubjjecttwhhen化学学tthennReesullteend),0)2issnulll(ssum(cassesstdssubjjecttwhhen语文文tthennReesullteend),0)3issnulll(ssum(cassesstdssubjjecttwhhentheenRRe

7、suultendd),00)4issnulll(ssum(cassesstdssubjjecttwhhentheenRResuultendd),00)5issnulll(ssum(cassesstdssubjjecttwhhentheenRResuultendd),00)所以得出出:代码 1seelecctsstdnnamee,2isnnulll(suum(ccaseesttdsuubjeectwheen化学thhenRessulttennd),0)化学,3isnnulll(suum(ccaseesttdsuubjeectwheen数学thhenRessulttennd),0)数学,4isnn

8、ulll(suum(ccaseesttdsuubjeectwheen物理thhenRessulttennd),0)物理,5isnnulll(suum(ccaseesttdsuubjeectwheen语文thhenRessulttennd),0)语文6froom#stuudennt77grooupbystddnamme然后得出出答案:代码 1deeclaaresqqlvvarccharr(40000)2settssql=sellecttsttdnaame3sellecttssql=sqll+,iisnuull(summ(caasestddsubbjecctwwhenn+sstdssubjject

9、t+tthennReesullteend),0)+sttdsuubjeect+4froom(sellecttdiistiincttsttdsuubjeectfroom#stuudennt)asaa5sellecttssql=sqll+froom#stuudenntggrouupbbysstdnnamee6priintsqql7exeec(sqll)8压轴题第第二问:把表二二转化为为表一表一:表二:数据库代代码如下下:代码 1DRROPtabble#sttudeent222CREEATEETAABLEE#sstuddentt2(stddnammennvarrchaar(110),化学intt,数

10、学学innt,物物理iint,语文文innt)3INSSERTTINNTO#sttudeent22VAALUEES(李四四,1644,92,82,85)4INSSERTTINNTO#sttudeent22VAALUEES(张三三,0,90,85,80)5SELLECTT*FROOM#stuudennt2看到这题题,直接接想到:代码 1SSELEECT李四assstdnnamee,sttdnaame=化学学,化学asrresuultfroom#stuudennt2wheerestddnamme=李四2uniionalll3SELLECTT李四四asssttdnaame,stddnamme=数学,

11、数数学aasrresuultfroom#stuudennt2wheerestddnamme=李四4uniionalll5SELLECTT李四四asssttdnaame,stddnamme=物理,物物理aasrresuultfroom#stuudennt2wheerestddnamme=李四6uniionalll7SELLECTT李四四asssttdnaame,stddnamme=语文,语语文aasrresuultfroom#stuudennt2wheerestddnamme=李四8uunioonaall9SELLECTT张三三asssttdnaame,stddnamme=化学,化化学aasrr

12、esuultfroom#stuudennt2wheerestddnamme=张三10uniionalll11SELLECTT张三三asssttdnaame,stddnamme=数学,数数学aasrresuultfroom#stuudennt2wheerestddnamme=张三12uniionalll13SELLECTT张三三asssttdnaame,stddnamme=物理,物物理aasrresuultfroom#stuudennt2wheerestddnamme=张三14uniionalll15SELLECTT张三三asssttdnaame,stddnamme=语文,语语文aasrresu

13、ultfroom#stuudennt2wheerestddnamme=张三重构到到:代码 1ddecllareessql22vaarchhar(40000)2settssql22=3SELLECTTssql22=ssql22+4SEELECCT+sstdnnamee+asssttdnaame,stddnamme=化学学,化学学assreesulltffromm#sstuddentt2wwherresstdnnamee=+sstdnnamee+55uniionalll6SELLECTT+sttdnaame+assstdnnamee,sttdnaame=数学学,数学asrresuultfroom#

14、stuudennt2wheerestddnamme=+stddnamme+7uniionalll8SELLECTT+sttdnaame+assstdnnamee,sttdnaame=物理理,物理asrresuultfroom#stuudennt2wheerestddnamme=+stddnamme+9uniionalll10SELLECTT+sttdnaame+assstdnnamee,sttdnaame=语文文,语文asrresuultfroom#stuudennt2wheerestddnamme=+stddnamme+uniionalll11froom(SELLECTTsttdnaameF

15、ROOM#stuudennt2)assa122SELLECTTssql22=LEFFT(sqll2,LLEN(sqql2)-10)13PRIINT(sqql2)14exeec(sqll2)如果要求求不能出出现 化学 数学学物物理 语语文 这这样的关关键字,那么可可以这样样写:代码 1sseleectnaameinnto#tmmpClloummns2froomttemppdb.dboo.syyscoolummns3wheereid=objjectt_idd(ttemppdb.dboo.#sstuddentt2)4anddnnameesttdnaame5sellectt*frrom#tmmpClloummns67decclarrestrrSqllnvvarccharr(8000)8sellecttsstrSSql=99sellecttsstrSSql=sttrSqql+uniionalll+chaar(10)+chaar(13)+10sseleectsttdnaame,+namme+ass科科目,+naame+chaar(10)+chaar(13)+11ffromm#stuudennt2+chaar(10)+chaar(13)12froom#tmppClooumnns13314sellect

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论