常見SQL筆試題_第1頁
常見SQL筆試題_第2頁
常見SQL筆試題_第3頁
常見SQL筆試題_第4頁
常見SQL筆試題_第5頁
已閱讀5頁,還剩13頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、精心整理SQ筆試題1.統(tǒng)計(jì)查詢SQL練習(xí)數(shù)據(jù)庫中表結(jié)構(gòu)如下,字段分別任 rg (日期),shengfu (勝負(fù)),考察groupby語句的使用:2005-05-09 勝2005-05-09 勝2005-05-09 負(fù)2005-05-09 負(fù)2005-05-10 勝2005-05-10 負(fù)I / 'l I-2005-05-10 負(fù)如果要生成下列結(jié)果,該如何寫sql語句?勝負(fù)2005-05-09222005-05-1012答案:I I ,-. z * J-j* 嚴(yán) 入/ .X :1) selectrq,sum(casewhe nshe ngfu='勝'the n1else0

2、e nd)' 勝',sum(casewhe nshe ngfu='負(fù)' 1then 1else0e nd)' 負(fù)'from#tmpgroupbyrq2) selectN.rq,N.勝,M.負(fù)from(selectrq,勝=count(*)from#tmpwhereshengfu='勝'groupbyrq)Ninnerjoin(selectrq,負(fù)=count(*)from#tmpwhereshengfu='負(fù)'groupbyrq)MonN.rq=M.rq勝'groupbycol001)a,3) select

3、a.col001,a.a1 勝,b.b1 負(fù) from (selectcol001,cou nt(col001)a1fromtemp1wherecol002='(selectcol001,co un t(col001)b1fromtemp1wherecol002='負(fù)'groupbycol001)bwherea.colOO仁b.colOOl2條件判斷SQL練習(xí)表中有ABC三列,用SQL語句實(shí)現(xiàn):當(dāng)A列大于B列時(shí)選擇A列否則選擇B列, 當(dāng)B列大于C列時(shí)選擇B列否則選擇C列答案:select(casewhe na>bthe naelsebe nd),(casewhe

4、nb>cthe nbeslece nd)fromtable name< 廠j r廠子_ /3. 日期統(tǒng)計(jì)SQL練習(xí)請(qǐng)取出tb_send表中日期(SendTime字段)為當(dāng)天的所有記錄?(SendTime字段為 datetime 型,包含日期與時(shí)間)答案:select*fromtbwheredatediff(dd,Se ndTime,getdate()=0I I , . zJ-X . .<< x ,x :4. 統(tǒng)計(jì)查詢SQL練習(xí)有一張表,里面有3個(gè)字段:語文,數(shù)學(xué),英語。其中有 3條記錄分別表示語文70 分,數(shù)學(xué)80分,英語58分,請(qǐng)用一條sql語句查詢出這三條記錄并按以

5、下條件顯示 出來(并寫出您的思路):大于或等于80表示優(yōu)秀,大于或等于60表示及格,小于60分表示不及格。顯示格式: 語文數(shù)學(xué)英語及格優(yōu)秀不及格 答案:select(casewhen 語文 >=80then'優(yōu)秀 when 語文 >=60then'及格else'不及格')as語文,(casewhen 數(shù)學(xué) >=80then'優(yōu)秀when 數(shù)學(xué) >=60then'及格else'不及格')as數(shù)學(xué),(casewhen 英語 >=80then'優(yōu)秀when 英語 >=60then'及格

6、else'不及格')as英語,fromtable7.請(qǐng)用一個(gè)sql語句得出結(jié)果,從table1,table2 中取出如table3所列格 式數(shù)據(jù)I I E -'-J一" /* x 、 X .X :table1月份mor部門dep業(yè)績(jī)yj答案:一月份0110一月份0210一月份035二月份028二月份049三月份038table2部門dep部門名稱dname答案:01國(guó)內(nèi)業(yè)務(wù)一部02國(guó)內(nèi)業(yè)務(wù)二部03國(guó)內(nèi)業(yè)務(wù)三部精心整理精心整理04國(guó)際業(yè)務(wù)部table3 (result )部門dep一月份二月份三月份答案:答案:-0110 null null02108null03

7、n ull5804n ull null9答案:1)selecta.部門名稱dname,b.業(yè)績(jī)yjas' 一月份,c.業(yè)績(jī)yjas'二月份,d.業(yè)績(jī)yjas'三月份' fromtable1a,table2b,table2c,table2dwherea.部門 dep=b.部門 depandb.月份 mon='月份'anda.部門 dep=c.部門 depandc.月份 mon='二月份anda.部門dep=d.部門depandd.月份 mon='三月份and2)selecta.dep,sum(casewhenb.mon=1thenb

8、.yjelse0end)as一月份',sum(casewhenb.mon=2thenb.yjelse0end)as二月份',sum(casewhenb.mon=3thenb.yjelse0end)as三月份',sum(casewhenb.mon=4thenb.yjelse0end)as四月份',sum(casewhenb.mon=5thenb.yjelse0end)as五月份',sum(casewhenb.mon=6thenb.yjelse0end)as六月份',sum(casewhenb.mon=7thenb.yjelse0end)as七月份&

9、#39;,sum(casewhenb.mon=8thenb.yjelse0end)as八月份',sum(casewhenb.mon=9thenb.yjelse0end)as九月份',sum(casewhenb.mon=10thenb.yjelse0end)as十月份',sum(casewhenb.mon=11thenb.yjelse0end)as十一月份',sum(casewhenb.mon=12thenb.yjelse0end)as十二月份',fromtable2aleftj oin table1b on a.dep=b.dep8. 華為一道面試題一個(gè)

10、表中的Id有多個(gè)記錄,把所有這個(gè) id的記錄查出來,并顯示共有多少條記錄數(shù)答案:selectid,Co unt( *)fromtbgroupbyidhavi ngco un t(*)>1select*from(selectco un t(ID)asco un tfromtablegroupbylD)TwhereT.cou nt>19. 統(tǒng)計(jì)查詢SQL練習(xí)用一條SQL語句查詢出每門課都大于80分的學(xué)生姓名n amekeche ngfen shu張三語文81張三數(shù)學(xué)75李四語文76李四數(shù)學(xué)90王五語文81王五數(shù)學(xué)100王五英語90A:selectdisti nctn amefromta

11、blewhere name noti n(selectdisti nctn amefromtablewherefe nshu<=80) 丿二;I、 Ii Lx-/ yJ L"10. 常規(guī)刪除查詢SQL練習(xí)表中數(shù)據(jù)如下:12005001 張三 0001 數(shù)學(xué) 6922005002 李四 0001 數(shù)學(xué) 8932005001 張三 0001 數(shù)學(xué) 69刪除除了自動(dòng)編號(hào)不同,其他都相同的學(xué)生冗余信息I i-)A:deletetable namewhere自動(dòng)編號(hào) no ti n( selectm in( 自動(dòng)編號(hào))fromtable namegroupby學(xué)號(hào),姓名,課程編號(hào),課程名

12、稱,分?jǐn)?shù))11. 行列轉(zhuǎn)換問題yearm on tham ount199111.1199121.2199131.3199141.4199212.1199222.2199232.3199242.4查成這樣一個(gè)結(jié)果yearm1m2m3m419911.11.21.31.419922.12.22.32.4,j匚 f、答案一、selectyear,(selectam oun tfromaaamwherem on th=1a ndm.year=aaa.year)asm1,r、J "J、:/(selectam oun tfromaaamwherem on th=2a ndm.year=aaa.ye

13、ar)asm2,(selectam oun tfromaaamwherem on th=3a ndm.year=aaa.year)asm3,p j(selectam oun tfromaaamwherem on th=4a ndm.year=aaa.year)asm4fromaaagroupbyyear這個(gè)是ORACLE中做的:select*from(select name,yearb1,lead(year)over(partitio nbyn ameorderbyyear)b2,lead(m,2)over(partitio nbyn ameorderbyyear)b3,ra nk()over

14、(partitio nbyn ameorderbyyear)rkfromt)whererk=1;12. 行列轉(zhuǎn)換SQL考核原表:courseidcourse namescore 1java702oracle903xml404jsp305servlet80 J答案:%:"氈I為了便于閱讀,查詢此表后的結(jié)果顯式如下(及格分?jǐn)?shù)為60):courseidcourse namescoremark彳J匚f /答案:1java70pass2oracle90pass3xml40fail4jsp30failp j5servlet80pass答案:答案:selectcourseid,course nam

15、e,score,decode 1(sig n(score-60),-1,'fail','pass')asmarkfromcourse;13.SQL練習(xí)(1 )表名:購(gòu)物信息購(gòu)物人商品名稱數(shù)量A 甲 2B乙4C丙1A丁2B丙5給出所有購(gòu)入商品為兩種或兩種以上的購(gòu)物人記錄答:購(gòu)物select*from 購(gòu)物信息 where購(gòu)物人in (select購(gòu)物人from 購(gòu)物信息groupby人 hav in gco un t(*)>=2);(2) 表名:成績(jī)表姓名課程分?jǐn)?shù)張三語文81張三數(shù)學(xué)75李四語文56李四數(shù)學(xué)90王五語文81王五數(shù)學(xué)100王五 英語 49給出成

16、績(jī)?nèi)亢细竦膶W(xué)生信息(包含姓名、課程、分?jǐn)?shù)),注:分?jǐn)?shù)在60以上評(píng)為合格答:select*from 成績(jī)表 where 姓名 notin(selectdistinet姓名 from 成績(jī)表 where 分?jǐn)?shù) <60)或者:select*from 成績(jī)表 where 姓名 in(select 姓名 from 成績(jī)表 groupby 姓名 havingmin( 分?jǐn)?shù))>=60)(3)表名:商品表名稱產(chǎn)地進(jìn)價(jià)蘋果煙臺(tái)2.5蘋果云南1.9蘋果四川3西瓜江西1.5西瓜北京2.4給出平均進(jìn)價(jià)在2元以下的商品名稱答:select 名稱 from 商品表 groupby 名稱 havingavg(

17、進(jìn)價(jià))2(4) 表名:高考信息表準(zhǔn)考證號(hào)科目成績(jī)2006001語文1192006001數(shù)學(xué)1082006002物理1422006001化學(xué)1362006001物理1272006002數(shù)學(xué)1492006002英語1102006002語文1052006001英語982006002化學(xué)129給出高考總分在600以上的學(xué)生準(zhǔn)考證號(hào)答:select準(zhǔn)考證號(hào)from高考信息表groupby準(zhǔn)考證號(hào)havingsum(成績(jī))600(5)表名:高考信息表準(zhǔn)考證號(hào)數(shù)學(xué) 語文 英語 物理 化學(xué)2006001108119981271362006002149105110142129給出高考總分在600以上的學(xué)生準(zhǔn)考證

18、號(hào)答:select準(zhǔn)考證號(hào)from 高考信息表where(數(shù)學(xué)+語文+英語+物理+化學(xué))600(6) 表名:clubidge nderage67M1968F3069F2770F1671M32查詢出該俱樂部里男性會(huì)員和女性會(huì)員的總數(shù)答:selectge nder,co un t(id)fromclubgroupbyge nder(7) 表名:teamID( nu mber 型)Name(varchar2 型)1 a2 b3 b要求:執(zhí)行一個(gè)刪除語句,當(dāng)Name列上有相同時(shí),只保留ID這列上值小的例如:刪除后的結(jié)果應(yīng)如下:ID( nu mber 型)Name(varchar2 型)請(qǐng)寫出SQL語句。d

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論