




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、數(shù)據(jù)庫sql面試題及答案【篇一:sql數(shù)據(jù)庫經(jīng)典面試題(修改筆試題)(有答案)】部門,平均工資,要求按部門的字符串順序排序,不能含有humanresource部門,employee結(jié)構(gòu)如下:employee_id,employee_name,depart_id,depart_name,wage答:selectdepart_name,avg(wage)fromemployeewheredepart_namehumanresourcegroupbydepart_nameorderbydepart_name29.給定如下sql數(shù)據(jù)庫:test(numint(4)請(qǐng)用一條sql語句返回num的最小值,
2、但不許使用統(tǒng)計(jì)功能,如min,max等答:selecttop1numfromtestorderbynum33. 一個(gè)數(shù)據(jù)庫中有兩個(gè)表:一張表為customer,含字段id,name;一張表為order,含字段id,customerid(連向customer中id的外鍵),revenue;寫出求每個(gè)customer的revenue總和的sql語句。建表createtablecustomer(idintprimarykey,namechar(10)gocreatetableorder(idintprimarykey,customeridintforeignkeyreferencescustomer
3、(id),revenuefloat)go-查詢selectcustomer.id,sum(isnull(order.revenue,0)fromcustomerfulljoinorderon(order.customerid=customer.id)groupbycustomer.idselectcustomer.id,sum(order.revener)fromorder,customerwherecustomer.id=customeridgroupbycustomer.idselectcustomer.id,sum(order.revener)fromcustomerfulljoinor
4、deron(order.customerid=customer.id)groupbycustomer.id5數(shù)據(jù)庫(10)atabelcalled“performance”contain:nameandscore,please用sql語言表述如何選出score最high的一個(gè)(僅有一個(gè))僅選出分?jǐn)?shù),selectmax(score)fromperformance僅選出名字,即選出名字,又選出分?jǐn)?shù):selecttop1score,namefromperorderbyscoreselectname1,scorefromperwherescorein/=(selectmax(score)fromper
5、)4有關(guān)系s(sno,sname)c(cno,cname)sc(sno,cno,grade)1 問上課程db的學(xué)生noselectcount(*)fromc,ame=o=oselectcount(*)fromscwherecno=(ame=db)2 成績(jī)最高的學(xué)生號(hào)selectsnofromscwheregrade=(selectmax(grade)fromsc)3 每科大于90分的人數(shù)ame,count(*)fromc,o=oandameame,count(*)o=oandame數(shù)據(jù)庫筆試題*建表:dept:deptno(primarykey),dname,locemp:empno(prim
6、arykey),ename,job,mgr,sal,deptno*/1 列出emp表中各部門的部門號(hào),最高工資,最低工資selectmax(sal)as最高工資,min(sal)as最低工資,deptnofromempgroupbydeptno;2 列出emp表中各部門job為clerk的員工的最低工資,最高工資selectmax(sal)as最高工資,min(sal)as最低工資,deptnoas部門號(hào)fromempwherejob=clerkgroupbydeptno;3 對(duì)于emp中最低工資小于1000的部門,列出job為clerk的員工的部門號(hào),最低工資,最高工資selectmax(s
7、al)as最高工資,min(sal)as最低工資,deptnoas部門號(hào)fromempasbwherejob=clerkand1000(selectmin(sal)fromempasawherea.deptno=b.deptno)groupbyb.deptno4 根據(jù)部門號(hào)由高而低,工資有低而高列出每個(gè)員工的姓名,部門號(hào),工資selectdeptnoas部門號(hào),enameas姓名,salas工資fromemporderbydeptnodesc,salasc5 寫出對(duì)上題的另一解決方法(請(qǐng)補(bǔ)充)6 列出張三所在部門中每個(gè)員工的姓名與部門號(hào)selectename,deptnofromempwher
8、edeptno=(selectdeptnofromempwhereename=張三)7 列出每個(gè)員工的姓名,工作,部門號(hào),部門名selectename,job,emp.deptno,dept.dnamefromemp,deptwhereemp.deptno=dept.deptno8 列出emp中工作為clerk的員工的姓名,工作,部門號(hào),部門名selectename,job,dept.deptno,dnamefromemp,deptwhere9 對(duì)于emp中有管理者的員工,列出姓名,管理者姓名(管理者外鍵為mgr)selecta.enameas姓名,b.enameas管理者fromempasa
9、,empasbwherea.mgrisnotnullanda.mgr=b.empno10 對(duì)于dept表中,列出所有部門名,部門號(hào),同時(shí)列出各部門工作為clerk的員工名與工作selectdnameas部門名,dept.deptnoas部門號(hào),enameas員工名,jobas工作fromdept,empwheredept.deptno*=emp.deptnoandjob=clerk11 對(duì)于工資高于本部門平均水平的員工,列出部門號(hào),姓名,工資,按部門號(hào)排序selecta.deptnoas部門號(hào),a.enameas姓名,a.salas工資fromempasawherea.sal(selectav
10、g(sal)fromempasbwherea.deptno=b.deptno)orderbya.deptno12 對(duì)于emp,列出各個(gè)部門中平均工資高于本部門平均水平的員工數(shù)和部門號(hào),按部門號(hào)排序selectcount(a.sal)as員工數(shù),a.deptnoas部門號(hào)fromempasawherea.sal(selectavg(sal)fromempasbwherea.deptno=b.deptno)groupbya.deptnoorderbya.deptno13對(duì)于emp中工資高于本部門平均水平,人數(shù)多與1人的,列出部門號(hào),人數(shù),按部門號(hào)排序selectcount(a.empno)as員工
11、數(shù),a.deptnoas部門號(hào),avg(sal)as平均工資fromempasawhere(selectcount(c.empno)fromempascwherec.deptno=a.deptnoandc.sal(selectavg(sal)fromempasbwherec.deptno=b.deptno)1groupbya.deptnoorderbya.deptno14對(duì)于emp中低于自己工資至少5人的員工,列出其部門號(hào),姓名,工資,以及工資少于自己的人數(shù)selecta.deptno,a.ename,a.sal,(selectcount(b.ename)fromempasbwhereb.sa
12、la.sal)as人數(shù)fromempasawhere(selectcount(b.ename)fromempasbwhereb.sala.sal)5數(shù)據(jù)庫筆試題及答案第一套一.選擇題1.下面敘述正確的是ccbad。a、算法的執(zhí)行效率與數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)無關(guān)b、算法的空間復(fù)雜度是指算法程序中指令(或語句)的條數(shù)c、算法的有窮性是指算法必須能在執(zhí)行有限個(gè)步驟之后終止d、以上三種描述都不對(duì)2. 以下數(shù)據(jù)結(jié)構(gòu)中不屬于線性數(shù)據(jù)結(jié)構(gòu)的是。a、隊(duì)列b、線性表c、二叉樹d、棧3. 在一棵二叉樹上第5層的結(jié)點(diǎn)數(shù)最多是。a、8b、16c、32d、154. 下面描述中,符合結(jié)構(gòu)化程序設(shè)計(jì)風(fēng)格的是。a、使用順序、選擇和重
13、復(fù)(循環(huán))三種基本控制結(jié)構(gòu)表示程序的控制邏輯b、模塊只有一個(gè)入口,可以有多個(gè)出口c、注重提高程序的執(zhí)行效率d、不使用goto語句5. 下面概念中,不屬于面向?qū)ο蠓椒ǖ氖恰、對(duì)象b、繼承c、類d、過程調(diào)用6. 在結(jié)構(gòu)化方法中,用數(shù)據(jù)流程圖(dfd)作為描述工具的軟件開發(fā)階段是bdbca。a、可行性分析b、需求分析c、詳細(xì)設(shè)計(jì)d、程序編碼7. 在軟件開發(fā)中,下面任務(wù)不屬于設(shè)計(jì)階段的是a、數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)b、給出系統(tǒng)模塊結(jié)構(gòu)c、定義模塊算法d、定義需求并建立系統(tǒng)模型8. 數(shù)據(jù)庫系統(tǒng)的核心是。a、數(shù)據(jù)模型b、數(shù)據(jù)庫管理系統(tǒng)c、軟件工具d、數(shù)據(jù)庫9. 下列敘述中正確的是。a、數(shù)據(jù)庫是一個(gè)獨(dú)立的系統(tǒng),不需要
14、操作系統(tǒng)的支持b、數(shù)據(jù)庫設(shè)計(jì)是指設(shè)計(jì)數(shù)據(jù)庫管理系統(tǒng)c、數(shù)據(jù)庫技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)共享的問題d、數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)的物理結(jié)構(gòu)必須與邏輯結(jié)構(gòu)一致10.下列模式中,能夠給出數(shù)據(jù)庫物理存儲(chǔ)結(jié)構(gòu)與物理存取方法的是。a、內(nèi)模式b、外模式c、概念模式d、邏輯模式11.visualfoxpro數(shù)據(jù)庫文件是_dcbaa。a、存放用戶數(shù)據(jù)的文件b、管理數(shù)據(jù)庫對(duì)象的系統(tǒng)文件c、存放用戶數(shù)據(jù)和系統(tǒng)的文件d、前三種說法都對(duì)12. sql語句中修改表結(jié)構(gòu)的命令是。a、modifytableb、modifystructurec、altertabled、alterstructure13. 如果要?jiǎng)?chuàng)建一個(gè)數(shù)據(jù)組分組報(bào)表,
15、第一個(gè)分組表達(dá)式是部門,第二個(gè)分組表達(dá)式是性別,第三個(gè)分組表達(dá)式是基本工資,當(dāng)前索引的索引表達(dá)式應(yīng)當(dāng)是。a、部門+性別+基本工資b、部門+性別+str(基本工資)c、str(基本工資)+性別+部門d、性別+部門+str(基本工資)14. 把一個(gè)項(xiàng)目編譯成一個(gè)應(yīng)用程序時(shí),下面的敘述正確的是。a、所有的項(xiàng)目文件將組合為一個(gè)單一的應(yīng)用程序文件b、所有項(xiàng)目的包含文件將組合為一個(gè)單一的應(yīng)用程序文件c、所有項(xiàng)目排除的文件將組合為一個(gè)單一的應(yīng)用程序文件d、由用戶選定的項(xiàng)目文件將組合為一個(gè)單一的應(yīng)用程序文件15. 數(shù)據(jù)庫db、數(shù)據(jù)庫系統(tǒng)dbs、數(shù)據(jù)庫管理系統(tǒng)dbms三者之間的關(guān)系是。a、dbs包括db和dbm
16、sb、dbms包括db和dbsc、db包括dbs和dbmsd、dbs就是db,也就是dbms16. 在選項(xiàng)對(duì)話框的文件位置選項(xiàng)卡中可以設(shè)置_baaba。a、表單的默認(rèn)大小b、默認(rèn)目錄c、日期和時(shí)間的顯示格式d、程序代碼的顏色17. 要控制兩個(gè)表中數(shù)據(jù)的完整性和一致性可以設(shè)置參照完整性,要求這兩個(gè)表。a、是同一個(gè)數(shù)據(jù)庫中的兩個(gè)表b、不同數(shù)據(jù)庫中的兩個(gè)表c、兩個(gè)自由表d、一個(gè)是數(shù)據(jù)庫表另一個(gè)是自由表18. 定位第一條記錄上的命令是。a、gotopb、gobottomc、go6d、skip19. 在關(guān)系模型中,實(shí)現(xiàn)關(guān)系中不允許出現(xiàn)相同的元組的約束是通過。a、候選鍵b、主鍵c、外鍵d、超鍵20. 設(shè)當(dāng)
17、前數(shù)據(jù)庫有10條記錄(記錄未進(jìn)行任何索引),在下列三種情況下,當(dāng)前記錄號(hào)為1時(shí);eof()為真時(shí);bof()為真時(shí),命令?recn()的結(jié)果分別是。a、1,11,1b、1,10,1c、1,11,0d、1,10,021. 下列表達(dá)式中結(jié)果不是日期型的是_ccbba。a、ctod(2000/10/01)b、八99/10/01+365c、val(2000/10/01)d、date()【篇二:sql數(shù)據(jù)庫面試題目及其答案】答:觸發(fā)器是一中特殊的存儲(chǔ)過程,主要是通過事件來觸發(fā)而被執(zhí)行的。它可以強(qiáng)化約束,來維護(hù)數(shù)據(jù)的完整性和一致性,可以跟蹤數(shù)據(jù)庫內(nèi)的操作從而不允許未經(jīng)許可的更新和變化??梢月?lián)級(jí)運(yùn)算。如,某
18、表上的觸發(fā)器上包含對(duì)另一個(gè)表的數(shù)據(jù)操作,而該操作又會(huì)導(dǎo)致該表觸發(fā)器被觸發(fā)。2 什么是存儲(chǔ)過程?用什么來調(diào)用?答:存儲(chǔ)過程是一個(gè)預(yù)編譯的sql語句,優(yōu)點(diǎn)是允許模塊化的設(shè)計(jì),就是說只需創(chuàng)建一次,以后在該程序中就可以調(diào)用多次。如果某次操作需要執(zhí)行多次sql,使用存儲(chǔ)過程比單純sql語句執(zhí)行要快??梢杂靡粋€(gè)命令對(duì)象來調(diào)用存儲(chǔ)過程。3 索引的作用?和它的優(yōu)點(diǎn)缺點(diǎn)是什么?答:索引就一種特殊的查詢表,數(shù)據(jù)庫的搜索引擎可以利用它加速對(duì)數(shù)據(jù)的檢索。它很類似與現(xiàn)實(shí)生活中書的目錄,不需要查詢整本書內(nèi)容就可以找到想要的數(shù)據(jù)。索引可以是唯一的,創(chuàng)建索引允許指定單個(gè)列或者是多個(gè)列。缺點(diǎn)是它減慢了數(shù)據(jù)錄入的速度,同時(shí)也增加
19、了數(shù)據(jù)庫的尺寸大小。3 。什么是內(nèi)存泄漏?答:一般我們所說的內(nèi)存泄漏指的是堆內(nèi)存的泄漏。堆內(nèi)存是程序從堆中為其分配的,大小任意的,使用完后要顯示釋放內(nèi)存。當(dāng)應(yīng)用程序用關(guān)鍵字new等創(chuàng)建對(duì)象時(shí),就從堆中為它分配一塊內(nèi)存,使用完后程序調(diào)用free或者delete釋放該內(nèi)存,否則就說該內(nèi)存就不能被使用,我們就說該內(nèi)存被泄漏了。4 維護(hù)數(shù)據(jù)庫的完整性和一致性,你喜歡用觸發(fā)器還是自寫業(yè)務(wù)邏輯?為什么?答:我是這樣做的,盡可能使用約束,如check,主鍵,外鍵,非空字段等來約束,這樣做效率最高,也最方便。其次是使用觸發(fā)器,這種方法可以保證,無論什么業(yè)務(wù)系統(tǒng)訪問數(shù)據(jù)庫都可以保證數(shù)據(jù)的完整新和一致性。最后考慮
20、的是自寫業(yè)務(wù)邏輯,但這樣做麻煩,編程復(fù)雜,效率低下。5 什么是事務(wù)?什么是鎖?答:事務(wù)就是被綁定在一起作為一個(gè)邏輯工作單元的sql語句分組,如果任何一個(gè)語句操作失敗那么整個(gè)操作就被失敗,以后操作就會(huì)回滾到操作前狀態(tài),或者是上有個(gè)節(jié)點(diǎn)。為了確保要么執(zhí)行,要么不執(zhí)行,就可以使用事務(wù)。要將有組語句作為事務(wù)考慮,就需要通過acid測(cè)試,即原子性,一致性,隔離性和持久性。鎖:在所以的dbms中,鎖是實(shí)現(xiàn)事務(wù)的關(guān)鍵,鎖可以保證事務(wù)的完整性和并發(fā)性。與現(xiàn)實(shí)生活中鎖一樣,它可以使某些數(shù)據(jù)的擁有者,在某段時(shí)間內(nèi)不能使用某些數(shù)據(jù)或數(shù)據(jù)結(jié)構(gòu)。當(dāng)然鎖還分級(jí)別的。6 什么叫視圖?游標(biāo)是什么?答:視圖是一種虛擬的表,具有
21、和物理表相同的功能??梢詫?duì)視圖進(jìn)行增,改,查,操作,試圖通常是有一個(gè)表或者多個(gè)表的行或列的子集。對(duì)視圖的修改不影響基本表。它使得我們獲取數(shù)據(jù)更容易,相比多表查詢。游標(biāo):是對(duì)查詢出來的結(jié)果集作為一個(gè)單元來有效的處理。游標(biāo)可以定在該單元中的特定行,從結(jié)果集的當(dāng)前行檢索一行或多行。可以對(duì)結(jié)果集當(dāng)前行做修改。一般不使用游標(biāo),但是需要逐條處理數(shù)據(jù)的時(shí)候,游標(biāo)顯得十分重要。7 為管理業(yè)務(wù)培訓(xùn)信息,建立3個(gè)表:s(s#,sn,sd,sa)s#,sn,sd,sa分別代表學(xué)號(hào),學(xué)員姓名,所屬單位,學(xué)員年齡c(c#,cn)c#,cn分別代表課程編號(hào),課程名稱sc(s#,c#,g)s#,c#,g分別代表學(xué)號(hào),所選的
22、課程編號(hào),學(xué)習(xí)成績(jī)(1)使用標(biāo)準(zhǔn)sql嵌套語句查詢選修課程名稱為稅收基礎(chǔ)的學(xué)員學(xué)號(hào)和姓名?答案:selects#,snfromswheres#in(selects#fromc,scwherec.c#=sc.c#andcn=稅收基礎(chǔ))(2)使用標(biāo)準(zhǔn)sql嵌套語句查詢選修課程編號(hào)為c2勺學(xué)員姓名和所屬單位?答:selectsn,sdfroms,scwheres.s#=sc.s#andsc.c#=c2(3)使用標(biāo)準(zhǔn)sql嵌套語句查詢不選修課程編號(hào)為c5勺學(xué)員姓名和所屬單位?答:selectsn,sdfromswheres#notin(selects#fromscwherec#=c5)(4)查詢選修了
23、課程的學(xué)員人數(shù)答:select學(xué)員人數(shù)=count(distincts#)fromsc(5)查詢選修課程超過5門的學(xué)員學(xué)號(hào)和所屬單位?答:selectsn,sdfromswheres#in(selects#fromscgroupbys#havingcount(distinctc#)5)【篇三:數(shù)據(jù)庫面試題】pclass=txt1、如何查找和刪除數(shù)據(jù)庫中的重復(fù)數(shù)據(jù)法一:用groupby語句此查找很快的selectcount(num),max(name)fromstudent渣找表中num歹U重復(fù)的,列出重復(fù)的記錄數(shù),并列出他的name屬性groupbynumhavingcount(num);1-
24、按num分組后找出表中num列重復(fù),即出現(xiàn)次數(shù)大于一次deletefromstudent(上面select的)這樣的話就把所有重復(fù)的都刪除了。一-慎重2、說一下數(shù)據(jù)表設(shè)計(jì)要遵守的三范式是什么?除了這些你覺得數(shù)據(jù)表的設(shè)計(jì)還要注意哪些規(guī)則?1 、無重復(fù)列,實(shí)際上就是一個(gè)表中一個(gè)列不允許有多值屬性、復(fù)合屬性或者嵌套的表,即列的值域必須是原子值,表必須有主鍵。2 、屬性完全依賴于主鍵消除部分子函數(shù)依賴。第二范式其實(shí)是在第一范式上的擴(kuò)展,所以第二范式必須符合第一范式,表中列不存在部分函數(shù)依賴。3 、屬性不依賴于其它非主屬性消除傳遞依賴。第三范式是在第二范式的基礎(chǔ)上進(jìn)行的擴(kuò)展,所以必須符合第二范式且表中不
25、存在傳遞依賴。3、寫一個(gè)sql存儲(chǔ)過程,建立一個(gè)表user字段是姓名,年齡,職位,權(quán)限,然后向里面插入6條數(shù)據(jù),然后查詢出年齡大于18的所有信息。111 ,11, 11111112 ,12, 11112 113 ,13, 11113 114 ,14, 11114 115 ,15, 11115 116 ,16, 111161111111)1111112 )1111113 )1111114 )1111115 )1111116 )createtableuser(namevarchar(20),ageint,positionvarchar(20)quanxianvarchar(20)insertint
26、ouservalues(insertintouservalues(insertintouservalues(insertintouservalues(insertintouservalues(insertintouservalues(createprocedureselectuserasselect*fromuserwhereage184 、1.你對(duì)哪種數(shù)據(jù)庫最熟悉?使用該數(shù)據(jù)庫多少年?簡(jiǎn)單描述對(duì)該數(shù)據(jù)庫的理解.答:sql,適合中小型企業(yè)使用2. 對(duì)其它較熟悉的商業(yè)數(shù)據(jù)庫的了解及使用年限.3. 如何將數(shù)據(jù)庫(實(shí)例)備份和還原?(針對(duì)自己最熟悉的)答:sql,在企業(yè)管理器上右點(diǎn)要備份或還原的數(shù)據(jù)
27、,從所有任務(wù)選擇備份或還原。4. 如何知道一個(gè)表或視圖的結(jié)構(gòu)?答:查詢系統(tǒng)表sysobjects5. 描述innerjoin的功能和已在何種情況下使用innerjoin.答:內(nèi)聯(lián)接是用比較運(yùn)算符比較要聯(lián)接列的值的聯(lián)接,連接的2個(gè)表都要滿足、5、存儲(chǔ)過程和sql語句的優(yōu)缺點(diǎn)存儲(chǔ)過程的優(yōu)缺點(diǎn):優(yōu)點(diǎn):1. 由于應(yīng)用程序隨著時(shí)間推移會(huì)不斷更改,增刪功能,tsql過程代碼會(huì)變得更復(fù)雜,storedprocedure為封裝此代碼提供了一個(gè)替換位置。2. 執(zhí)行計(jì)劃(存儲(chǔ)過程在首次運(yùn)行時(shí)將被編譯,這將產(chǎn)生一個(gè)執(zhí)行計(jì)劃實(shí)際上是microsoftsqlserver為在存儲(chǔ)過程中獲取由t-sql指定的結(jié)果而必須采取
28、的步驟的記錄。)緩存改善性能。?.但sqlserver新版本,執(zhí)行計(jì)劃已針對(duì)所有t-sql批處理進(jìn)行了緩存,而不管它們是否在存儲(chǔ)過程中,所以沒比較優(yōu)勢(shì)了。3. 存儲(chǔ)過程可以用于降低網(wǎng)絡(luò)流量,存儲(chǔ)過程代碼直接存儲(chǔ)于數(shù)據(jù)庫中,所以不會(huì)產(chǎn)生大量t-sql語句的代碼流量。4. 使用存儲(chǔ)過程使您能夠增強(qiáng)對(duì)執(zhí)行計(jì)劃的重復(fù)使用,由此可以通過使用遠(yuǎn)程過程調(diào)用(rpc)處理服務(wù)器上的存儲(chǔ)過程而提高性能。rpc封裝參數(shù)和調(diào)用服務(wù)器端過程的方式使引擎能夠輕松地找到匹配的執(zhí)行計(jì)劃,并只需插入更新的參數(shù)值。5. 可維護(hù)性高,更新存儲(chǔ)過程通常比更改、測(cè)試以及重新部署程序集需要較少的時(shí)間和精力。6. 代碼精簡(jiǎn)一致,一個(gè)存儲(chǔ)
29、過程可以用于應(yīng)用程序代碼的不同位置。7. 更好的版本控制,通過使用microsoftvisualsourcesafe或某個(gè)其他源代碼控制工具,您可以輕松地恢復(fù)到或引用舊版本的存儲(chǔ)過程。8. 增強(qiáng)安全性:a、通過向用戶授予對(duì)存儲(chǔ)過程(而不是基于表)的訪問權(quán)限,它們可以提供對(duì)特定數(shù)據(jù)的訪問;b、提高代碼安全,防止sql注入(但未徹底解決,例如,將數(shù)據(jù)操作語言dml,附加到輸入?yún)?shù));c、sqlparameter類指定存儲(chǔ)過程參數(shù)的數(shù)據(jù)類型,作為深層次防御性策略的一部分,可以驗(yàn)證用戶提供的值類型(但也不是萬無一失,還是應(yīng)該傳遞至數(shù)據(jù)庫前得到附加驗(yàn)證)。缺點(diǎn):1 .如果更改范圍大到需要對(duì)輸入存儲(chǔ)過程的
30、參數(shù)進(jìn)行更改,或者要更改由其返回的數(shù)據(jù),則您仍需要更新程序集中的代碼以添加參數(shù)、更新getvalue()調(diào)用,等等,這時(shí)候估計(jì)比較繁瑣了。2 .可移植性差由于存儲(chǔ)過程將應(yīng)用程序綁定到sqlserver,因此使用存儲(chǔ)過程封裝業(yè)務(wù)邏輯將限制應(yīng)用程序的可移植性。如果應(yīng)用程序的可移植性在您的環(huán)境中非常重要,則將業(yè)務(wù)邏輯封裝在不特定于rdbms的中間層中可能是一個(gè)更佳的選擇。sql語句靈活,可移植性強(qiáng),查詢速度比存儲(chǔ)過程慢些6、為數(shù)據(jù)庫創(chuàng)建索引都需要注意些什么?1. 索引能提高速度的關(guān)鍵就是索引所占的空間要比表小得多2. 注意索引的大小,有一些表可以建成索引組織表3. 索引的列不要太多,要選擇一些sel
31、ective比較低的列建b-tree索引,選擇selective高的列建bitmap索引(在更新比較多的表不不要建bitmap索引)4. 將selective較低的列放在前面5. 在更新不多的表上建索引時(shí),可以考慮用compress選擇,以節(jié)約索引的空間7、一組sql相關(guān)操作面試題1.在表a中有數(shù)據(jù)idmo1 y2 n請(qǐng)用一個(gè)select語句寫出,如果mo的值為“y;返回“yes;為n返回“no”效果如下:idmo1 yes2 noselectid,mo=casewhenmo=?y?then?yes?whenmo=?n?then?no?endfromaz2. 在表a中查詢出自動(dòng)增長列中31到4
32、0之間的數(shù)據(jù)(注意可能不是連續(xù)的)select*fromawhereidbetween31and403. 有一個(gè)表table中有一個(gè)自動(dòng)增長字段id,如果在存儲(chǔ)過程中向這個(gè)表插入一條記錄后,如何獲得新記錄的id.(寫出獲取新記錄id的函數(shù)即可)createfunctionc_currentid()returnsintasbegindeclarelastidintselectlastid=max(cid)fromcreturn(lastid)endselecttempdb.dbo.c_currentid()as?當(dāng)前c表中最新的編號(hào)?4. having的用法,是用來做什么的having用來對(duì)gr
33、oupby分組后的記錄進(jìn)行過濾。5. sql中的什么函數(shù)可以轉(zhuǎn)換為時(shí)間selectconvert(datetime,?2000/01/01)selectcast(?2001/02/02asdatetime)6. 查詢數(shù)據(jù)放入一張臨時(shí)表select*into#afromtestselect*from#a8 、如何使用sql進(jìn)行模糊查詢like條件一般用在指定搜索某字段的時(shí)候,通過”%_”通配符的作用實(shí)現(xiàn)模糊查找功能,通配符可以在前面也可以在后面或前后都有。搜索以mian開頭:select*fromteblewheretitlelikemian%搜索以mian結(jié)束:select*fromteblewheretitlelike%mian搜索包含mian:select*fromteblewheretitlelike%mian%注釋:%表示0個(gè)或多個(gè)字符構(gòu)成的字符串_表示單個(gè)字符9 、說一下mysql,oracle等常見數(shù)據(jù)庫的分頁實(shí)現(xiàn)方案?1.oracle:select*from(selectrow_.*,rownumrownum_from(query_
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)服務(wù)合同文本2025
- 高級(jí)財(cái)務(wù)管理合同保密條款
- 專業(yè)技能課件評(píng)比標(biāo)語
- 價(jià)格保密合同模板
- 技術(shù)服務(wù)合同保密條款2025
- 西昌民族幼兒師范高等??茖W(xué)校《戲曲與中國文化》2023-2024學(xué)年第一學(xué)期期末試卷
- 四川省宜賓市翠屏區(qū)中學(xué)2025年高中畢業(yè)班質(zhì)量檢查(Ⅱ)數(shù)學(xué)試題含解析
- 西交利物浦大學(xué)《職業(yè)發(fā)展與就業(yè)教育1》2023-2024學(xué)年第二學(xué)期期末試卷
- 上海普陀區(qū)2025年高三第二輪復(fù)習(xí)測(cè)試卷生物試題含解析
- 天津市紅橋區(qū)普通中學(xué)2024-2025學(xué)年初三下學(xué)期中考仿真考試物理試題含解析
- 四年級(jí)語文教案 囊螢夜讀-公開課比賽一等獎(jiǎng)
- 企業(yè)數(shù)字化轉(zhuǎn)型解決方案
- 外研版五年級(jí)下冊(cè)英語Module 8 Unit 1課件
- 混凝土模板支撐工程專項(xiàng)施工方案(140頁)
- 羽毛球教案36課時(shí)
- 第三章煤層氣的儲(chǔ)層壓力及賦存狀態(tài)
- 六年級(jí)上冊(cè)數(shù)學(xué)圓中方方中圓經(jīng)典題練習(xí)
- 住宅(小區(qū))智能化系統(tǒng)檢測(cè)報(bào)告
- ansys教學(xué)算例集汽輪機(jī)內(nèi)蒸汽平衡態(tài)與非平衡態(tài)仿真分析
- 安全管理機(jī)構(gòu)架構(gòu)
- 國際海上人命安全公約(SOLAS)介紹
評(píng)論
0/150
提交評(píng)論