SQL-Server面试题目精选-包含答案.doc
InsertInto数据表名称(字段名称1,字段名称2,...)values(字段值1,字段值2,...)
insertintouser(username,password,age)values(李老四,6666,45)
Update数据表名称Set字段名称=字段值,字段名称=字段值,...[Where条件]
DeleteFrom数据表
以下查询返回在LONDON〔伦敦〕或SEATTLE〔西雅图〕的所有雇员:
SELECT*FROMemployeesWHEREUPPER(city)IN(LONDON,SEATTLE)
下面例如利用DATEDIFF函数,确定在pubs数据库中标题发布日期和当前日期间的天数。
SELECTDATEDIFF(day,OrderDate,getdate())ASno_of_daysFROMtable1
返回字符串wonderful在titles表的notes列中开始的位置。
SELECTCHARINDEX(wonderful,notes)
以下是返回的结果:〔第47个字符位置〕
显示工作站的名称:selecthost_name()as[ClientComputerName]
下例是检索titles表中百分之五十的书。如果titles表中包含了18行,那么将检索前9行。
SELECTTOP50PERCENTtitleFROMtitles
字段名称[Not]Between起始值and终止值
列出BOOK表中30至50元的书
select*frombookwherepricebetween30and50
字段名称[Not]In(列出值1,列出值2,...)
从BOOK表中列出价格为30,40,50,60的所有书
select*frombookwherepricein(30,40,50,60)
字段名称[Not]Like通配符
列出BOOK表中出版社含电的所有记录
select*frombookwherepublishinglike*电*
列出BOOK表中出版社第一个字是电的所有记录
select*frombookwherepublishinglike电*
---
selectSum/Count/Avg/Max/Min(字段名称)[As新名称]From数据表名称
sum求和:
求出总价格做为合计字段
selectsum(price)as合计frombook
count统计数量:
统计BOOK表中有多少条记录做为数量字段
selectcount(id)as数量frombook
AVG平均:
算出BOOK表中所有书的平均价格
selectavg(price)as平均价格frombook
MAX最大:
列出BOOK表中最贵的书
selectmax(price)as最贵书frombook
MIN最小:
selectmin(price)as最廉价书frombook
交叉联接:SELECT*FROMtable1CROSSJOINtable2
selectx.[name],y.[name]fromxleftjoinyonx.[refid]=y.id
selecty.[name],x.[name]fromxrightjoinyonx.[refid]=y.id
表联接查询
SELECTt1.ProductID,t2.VendorID,t2.Name
FROMtable1t1,table2t2
WHEREt1.VendorID=t2.VendorID
ANDStandardPrice$10
ANDNameLIKEF%
SELECTProductID,talbe2.VendorID,Name
FROMtable1JOINtable2
ON(table1.VendorID=table2.VendorID)
WHEREStandardPrice$10
ANDNameLIKEF%
COMPUTEby子句
可选BY关键字。它基于每一列计算指定的行聚合。
行聚合函数名称。包括SUM、AVG、MIN、MAX或COUNT。
要对其执行行聚合函数的列。
SELECTRateId,ConnectionFee,Rate
FROMUTC_Rate
ORDERBYRateId
COMPUTESUM(ConnectionFee