真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

.Net開發(fā)工程師筆試試題

附上自己做的答案,提出不足之處

創(chuàng)新互聯(lián)公司是專業(yè)的白銀網(wǎng)站建設(shè)公司,白銀接單;提供成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè),網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行白銀網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!

 

現(xiàn)在有一個(gè)SQL Server 2000版本的數(shù)據(jù)庫,里面包含有三個(gè)表Info、InfoReply、User,分別表示信息、信息評論和用戶表,包含的字段分別如下:

Info

infoID

INT

信息ID(自增列)

infoTitle

NVARCHAR(100)

信息標(biāo)題

infoContent

NVARCHAR(2000)

信息正文

infoPubDate

DATETIME

信息發(fā)布日期

infoPubUser

VARCHAR(30)

信息發(fā)布用戶帳號

 

InfoReply

infoReplyID

INT

評論ID(自增列)

infoID

INT

信息ID

infoReplyContent

NVARCHAR(2000)

評論正文

infoReplyDate

DATETIME

評論日期

infoReplyUser

VARCHAR(30)

評論用戶帳號

 

User

userNo

VARCHAR(30)

用戶帳號

userName

NVARCHAR(30)

用戶姓名

 

三個(gè)表的關(guān)系可以通過下列模型圖來描述:

 

 

現(xiàn)有下列問題:

(1)   請說明在上述模型圖中,PK和FK1、FK2的含義?

  答:pk是主鍵 fk1、fk2分別是外面

  表infoReply有倆個(gè)外鍵fk1,fk2

  表info有一個(gè)外鍵pk1

 

 

(2)   現(xiàn)在有一個(gè)查詢,需要返回一個(gè)最新發(fā)布的20條信息列表,要求包含:信息ID、信息標(biāo)題、信息發(fā)布時(shí)間、信息發(fā)布人姓名、信息評論總數(shù)和最后評論時(shí)間,并且按最后評論時(shí)間排序,請給出該查詢的SQL語句?

 

Select top 20 i.InfoID,i.InfoTItle,i.InfoPubDate,u.userName,

count(ir.infoID)as ReplyCount   --信息評論總數(shù)總數(shù)

ir.infoReplyDate

from Info i

inner join User u on i.infoPubuser =u.userNo

inner join InfoReply ir on ir.infoID=i.inforID

group by i.InfoID,i.InfoTItle,i.InfoPubDate,u.userName

order by ir.inforReplyUser desc

 

(3)   仍是第(2)中的查詢要求,現(xiàn)在假設(shè)Info表和User表之間不存在任何外鍵約束,即infoPubUser表示的用戶帳號可能在User表中已經(jīng)被刪除,這時(shí)如果要繼續(xù)返回最新的20條信息列表,包含(2)中相同的列,該SQL語句應(yīng)該怎么寫?

Select top 20 i.InfoID,i.InfoTItle,i.InfoPubDate,u.userName,

count(ir.infoID)as ReplyCount   --信息評論總數(shù)總數(shù)

ir.infoReplyDate

from Info i

left join User u on i.infoPubuser =u.userNo

left join InfoReply ir on ir.infoID=i.inforID

group by i.InfoID,i.InfoTItle,i.InfoPubDate,u.userName

order by ir.inforReplyUser desc

 

 

(4)   假設(shè)Info表有一個(gè)字段infoReplyCount(信息評論總數(shù)),那我們需要怎么做才能讓用戶每增加一條評論,該字段自動(dòng)+1,說出大概思路即刻,能寫出SQL語句最好

在表Info創(chuàng)建一個(gè)觸發(fā)器,原理:當(dāng)評論表數(shù)據(jù)插入之后(after關(guān)鍵字)就會(huì)觸發(fā)下面update語句

Create trigger tri_addReply

On InfoReply

After insert

As

Beigin

    Declare @infoID int  --定義一個(gè)變量

Select @infoID=infoID from inserted –從插入表選出infoID

Update infoReply set infoReplyCount=infoReplyCount+1 where infoID=@infoID

end

(5)   寫出返回每一條信息的評論總數(shù)的SQL語句

   Select i.infoID,count(ir.infoID)

From Info inner join InfoReply ir on i.infoID=ir.infoID

Group by i.infoID, ir.infoID

(6)   假設(shè)發(fā)現(xiàn)Info表有多條記錄丟失了,如何最大程度地找出有多少條記錄丟失了,寫出SQL語句。(不使用InfoReply表)

       Select count(*) from Info --選出表中的總數(shù)

       Select max(infoID) from Info   --選出表中最大infoID

       之后將兩個(gè)結(jié)果相減得到多少丟失記錄

 

(7)   假設(shè)發(fā)現(xiàn)Info表只有1條記錄丟失了,如何知道丟失的記錄的ID,寫出SQL語句(不使用InfoReply表)

首先做個(gè)小判斷,這個(gè)丟失的一條記錄不可能是最后一條記錄

select rownum from

(select row_number()over (order by id desc) as rownum from Info)—采用sql的分頁函數(shù)

as a

where rownum not in(select id from Info)

 

(8)   仍然是(6)的問題,可以使用InfoReply表,寫出SQL語句。

 

          Select count(infoID)from  --此語句統(tǒng)計(jì)多少條記錄丟失

 (Select infoID from InfoReply

where infoID not in

(select infoID from Info)) as a   --查找出多少條丟失記錄放到a表中

(9)   假設(shè)Info表有一個(gè)字段infoReplyCount(信息評論總數(shù)),infoReplyCount>=20的為熱門帖子,小于20的為非熱門帖子,請根據(jù)Info表的內(nèi)容輸出以下2行數(shù)據(jù),要求SQL語句最簡。

Select infoReplyCount as 數(shù)量,

(

    Case

When infoReplyCount>=20 then N‘熱門’

Else N‘非熱門’

End

) as 類別

From Info

 

類別

數(shù)量

熱門

30

非熱門

18


本文題目:.Net開發(fā)工程師筆試試題
標(biāo)題網(wǎng)址:http://weahome.cn/article/podcid.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部