Sqlserver一期内部测试题一选择题1、_______是指组成表的各列的名称及数据类型,也就是日常表格的“栏目信息”。(选择1项)A)表型B)记录C)属性D)关键字2、在SQL查询时,使用()子句指出的是分组后的条件。(选择1项)A)WHEREB)HAVINGC)WHEND)GROUP3、已知关系:员工(员工号,姓名,部门号,薪水)PK=员工号FK=部门号部门(部门号,部门名称,部门经理员工号)PK=部门号(PK指的式主键FK指的式外键)现在要查询部门员工的平均工资大于3000的部门名称及平均工资,下面哪两句查询正确:(选择2项)A)SELECT部门名称,AVG(薪水)FROM部门P,员工EWHEREE.部门号=(SELECT部门号FROM部门WHERE部门名称=P.部门名称)GROUPBY部门名称HAVINGAVG(薪水)3000B)SELECT部门名称,AVG(薪水)FROM部门PINNERJOIN员工EONP.部门号=E.部门号GROUPBY部门名称WHEREAVG(薪水)3000C)SELECT部门名称,AVG(薪水)FROM部门PINNERJOIN员工EONP.部门号=E.部门号GROUPBY部门名称HAVINGAVG(薪水)3000D)SELECT部门名称,AVG(薪水)FROM部门P,员工EWHEREP.部门号=(SELECT部门号FROM部门WHERE部门名称=P.部门名称)GROUPBY部门名称HAVINGAVG(薪水)30004、要将表userInfo从数据库中删除,用以下的哪个命令?(选择1项)A)DROPTABLEuserInfoB)TRUNCATETABLEuserInfoC)DELETEFROMuserInfoD)DROPFROMuserInfo5、在以下哪种情况下使用主键约束而不使用唯一约束:(选择1项)A)列的值允许为空值B)列有外键引用C)列的值不允许为空值D)以上都不对6、在数据库表employee中查找字段empid中以两个数字开头第三个字符是下画线“_”的所有记录。请选择以下正确的语句:(选择1项)A)SELECT*FROMemployeeWHEREempidLIKE'[0-9][0-9]_%'B)SELECT*FROMemployeeWHEREempidLIKE'[0-9][0-9]_[%]'C)SELECT*FROMemployeeWHEREempidLIKE'[0-9]9[_]%'D)SELECT*FROMemployeeWHEREempidLIKE'[0-9][0-9][_]%'7、函数FLOOR(-41.3)返回______。(选择1项)A)-41B)-42C)41D)以上都不是8、下面哪个函数返回的是满足给定条件的平均值:(选择1项)A)Max(col_name)B)Avg(col_name)C)Sum(col_name)D)COUNT(col_name)9、合并多个查询结果集,应使用()关键字。E)A、joinB、unionF)C、intoD、and10、在SQL查询时,使用WHERE子句指出的是。(选择1项)A)查询目标B)查询结果C)查询条件E)查询视图11、下面有关HAVING子句描述错误的是。(选择1项)A)HAVING子句必须与GROUPBY子句同时使用,不能单独使用B)使用HAVING子句的同时不能使用WHERE子句C)使用HAVING子句的同时可以使用WHERE子句D)使用HAVING子句的作用是限定分组的条件12、已知关系:厂商(厂商号,厂名)PK=厂商号产品(产品号,颜色,厂商号)PK=产品号,FK=厂商号表如下:厂商产品厂商号厂名C01宏达C02立仁C03广源产品号颜色厂商号P01红C01P02黄C03若再往产品表中插入如下记录:I(P03,红,C02)II(P01,蓝,C01)III(P04,白,C04)IV(P05,黑,null)能够插入的记录是。(选择1项)A)I,II,IVB)I,IIIC)I,IID)I,IV13、要删除表userInfo中的所有记录,用以下的哪两个命令?(选择2项)A)DROPTABLEuserInfoB)TRUNCATETABLEuserInfoC)DELETEFROMuserInfoD)DROPFROMuserInfo14、Delete语句是_____语句?(选择1项)A)DQLB)DMLC)DDLD)DCL15、SQL语句中,可以使用()语句一次插入()条记录,如果想要一次插入多条记录,必须在语句中使用()语句。A、Insert,一,SelectB、Insert,二,UpdateC、Update,一,InsertD、Delete,三,Select16、在数据库pubs的表authors中查找以ean结尾的所有4个字母的作者所在的行。请选择以下正确的语句:(选择1项)A)SELECT*FROMauthorsWHEREau_fnameLIKE'_ean'B)SELECT*FROMauthorsWHEREau_fnameLIKE'%ean'C)SELECT*FROMauthorsWHEREau_fnameLIKE'[_ean]'E)SELECT*FROMauthorsWHEREau_fnameLIKE'[%]ean'17你是一名电子商务网站的数据库开发人员。你正在建立一个数据库来存储网站的订单信息。这些信息从一个client/server应用程序的client端被输入,每输入一条新订单,就会产生一个唯一的订单号(OrderNumber),并且订单号是以递增的顺序产生的。每天的订单数量大概在10,000条左右。你建立了一个新表Orders并且向其中加入了一个字段OrderNumber。下一步你该做什么?A将OrderNumber的数据类型设置为uniqueidentifier。B将OrderNumber的数据类型设置为int,并为其设置IDENTITY属性。C将OrderNumber的数据类型设置为int,然后建立一个用户定义的sql语句来找出表中最大的订单号。D将OrderNumber的数据类型设置为int。然后建立一个新表NextKey,向其中加入NextOrder(下一张订单)字段,将NextOrder的数据类型设置为int。建立一个存储过程来获得或更新表NextKey中的值。18、以下那些是系统数据库:ASQLServerBtempdbCsystemdbDmodel19、检索序列号(Prono)为空的所有记录()。A、select*fromTab_ProInforwhereProno=‘’;B、select*fromTab_ProInforwhereProno=0;C、select*fromTab_ProInforwherePronoisnull;D、select*fromTab_ProInforwhereProno=‘0’20charindex(‘hy’,’huayuguoji’)返回的结果为A0B1C4D-1二sql语句测试提交sql语句、学校图书馆借书信息管理系统建立三个表:学生信息表:student字段名称数据类型说明stuIDchar(10)学生编号,主键stuNameVarchar(10)学生名称majorVarchar(50)专业图书表:book字段名称数据类型说明BIDchar(10)图书编号,主键titlechar(50)书名authorchar(20)作者借书信息表:borrow字段名称数据类型说明borrowIDchar(10)借书编号,主键stuIDchar(10)学生编号,外键BIDchar(10)图书编号,外键T_timedatetime借书日期B_timedatetime还书日期完成以下题目(利用企业管理器创建数据库数据表增加约束该步骤略)1)利用sql语句录入测试数据测试数据见下图(为节省时间只提交每个表录入数据的第一条sql语句即本题共需要提交三条sql语句)(该题6分)Book表Borrow表Student表2)查询“计算机”专业学生在“2007-12-15”至“2008-1-8”时间段内借书的学生编号、学生名称、图书编号、图书名称、借出日期;参考查询结果如下图所示:(该题6分)selectst.stuid,stuname,bk.bid,title,t_timefromstudentst,bookbk,borrowbrwherest.stuid=br.stuidandbr.bid=bk.bidandt_time='2007-12-15'andt_time='2008-1-8'andmajor='计算机'3)查询所有借过图书的学生编号、学生名称、专业;参考查询结果如下图所示:(该题6分)selectstuid,stuname,majorfromstudentwherestuidin(selectstuidfromborrow)4)查询借过作者为“安意如”的图书的学生姓名、图书名称、借出日期、归还日期;参考查询结果如下图所示:(该题6分)selectstuname,title,t_time,b_timefrombookbk,studentst,borrowbrwherest.stuid=br.stuidandbr.bid=bk.bidandauthor='安意如'5)查询目前借书但未归还图书的学生名称及未还图书数量;参考查询结果如下图所示:(该题6分)selectstuname,count(*)fromstudentst,borrowbrwherest.stuid=br.stuidandb_timeisnullgroupbyst.stuid,stuname6)利用sql语句删除已经还书的的信息(该题5分)deletefromborrowwhereB_timeisnotnull7)利用sql语句把五月的专业更改为”数学应用”(该题5分)updatestudentsetmajor='数学应用'wherestuname='五月'三sql语句测试根据以下对表的描述要求完成SQL语句:选课表(Register)部门表(dept)列名R_IDC_IDS_IDT_IDR_DateR_scoreD_IDD_Name类型varcharvarcharVarcharvarchardatetimenumeric(5,2)varcharvarchar意义选课编号课程编号学生编号教师编号选课时间成绩部门编号部门名教师表(Teacher)学生表(Student)课程表(Course)列名T_IDT_NameD_IDT_MailS_IDS_NameS_MailC_ID类型varcharvarcharVarcharvarcharvarcharvarcharvarcharvarchar意义教师编号教师姓名部门号教师邮箱学生编号学生姓名学生邮箱课程编号1、根据上面表的定义,写出创建教师(teacher)和部门表(dept)的SQL语句,要求:TID定义为主键,DID定义为外键。Createtabledept(didvarchar(15)primarykey,Dnamevarchar(15))Createtableteacher(tidvarchar(15)primarykey,tnamevarchar(15),didvarchar(15)referencesdept(did),,tmailvarchar(15))2、向选课表添加一行数据:选课编号课程编号学生编号教师编号选课时间成绩HYR0001HYC001HYS001HYT0012008/6/1276InsertintoRegisterValues(‘HYR0001’,’HYC001’,’HYS001’,’HYT001’,’2008/6/12’,76)3、把所有HYD01部门的老师的邮箱添加前缀“Mailto”。Updateteachersettmail=’Mailto’+tmailwheredid=’HYD01’4、列出所有教师的姓名和部门