SQL考试题一、选择题1.SELECT语句中与HAVING子句通常同时使用的是(C)子句。A.ORDERBYB.WHEREC.GROUPBYD.无需配合2.以下聚合函数求数据总和的是(B)A.MAXB.SUMC.COUNTD.AVG3.SELECT语句的完整语法较复杂,但至少包括的部分是(B)A.仅SELECTB.SELECT,FROMC.SELECT,GROUPD.SELECT,INTO4.SQL语句中的条件用以下哪一项来表达(C)A.THENB.WHILEC.WHERED.IF5.查找表结构用以下哪一项(B)A.FINDB.SELETEC.ALTERD.DESC6.向数据表中插入一条记录用以下哪一项(B)A.CREATEB.INSERTC.SAVED.UPDATE7.SQL语言中,删除一个表的命令是(D)A.REMOVEB.CLEARC.DELETED.DROP8.修改数据库表结构用以下哪一项(D)A.UPDATEB.CREATEC.UPDATEDD.ALTER9.下列(D)不属于连接种类A.左外连接B.内连接C.中间连接D.交叉连接10.SQL是一种(C)语言。A.函数型B.高级算法C.关系数据库D.人工智能11.下列的SQL语句中,(B)不是数据定义语句。A.CREATETABLEB.GRANTC.CREATEVIEWD.DROPVIEW12.以下聚合函数求平均数的是(C)A.COUNTB.MAXC.AVGD.SUM13.用来插入数据的命令是(A),用于更新的命令是()A.INSERT,UPDATEB.CREATE,INSERTINTOC.DELETE,UPDATED.UPDATE,INSERT14.以下哪项用于左连接(C)A.JOINB.RIGHTJOINC.LEFTJOIND.INNERJOIN15.一张表的主键个数为(C)A.至多3个B.没有限制C.至多1个D.至多2个二、填空题1.select9/3;的结果为___true_。2.补全语句:selectvend_id,count(*)asnum_prodsfromproductsgroupby__vend__;3.用SELECT进行模糊查询时,可以使用匹配符,但要在条件值中使用__下划线__或%等通配符来配合查询。4.如果MySQL服务名为MySQL5,则在Windows的命令窗口中,启动MySQL服务的指令是__netstartMYSQL5__。5.MySQL是一种___多用户___(多用户、单用户)的数据库管理系统。6.创建数据表的命令语句是____createtable表名();_____。7._orderby___语句可以修改表中各列的先后顺序。8.当某字段要使用AUTO_INCREMENT的属性时,该字段必须是_整数___类型的数据。三、解答题1.表名:购物信息购物人商品名称数量A甲2B乙4C丙1A丁2B丙5……(其他用户实验的记录大家可自行插入)给出所有购入商品为两种或两种以上的购物人记录Select*from购物信息where商品名称=2;2.表名:成绩表姓名课程分数张三语文81张三数学75李四语文56李四数学90王五语文81王五数学100王五英语49……(其他用户实验的记录大家可自行插入)给出成绩全部合格的学生信息(包含姓名、课程、分数),注:分数在60以上评为合格Select姓名,课程,分数from成绩表where分数60;3.表名:商品表名称产地进价苹果烟台2.5苹果云南1.9苹果四川3西瓜江西1.5西瓜北京2.4……(其他用户实验的记录大家可自行插入)给出平均进价在2元以下的商品名称Select名称,avg(进价)from商品表groupby名称havingavg(进价)2;4.表名:高考信息表准考证号科目成绩2006001语文1192006001数学1082006002物理1422006001化学1362006001物理1272006002数学1492006002英语1102006002语文1052006001英语982006002化学129……(其他用户实验的记录大家可自行插入)给出高考总分在600以上的学生准考证号Select准考证号,sum(成绩)from高考信息表groupby准考证号havingsum(成绩)600;5.表名:高考信息表准考证号数学语文英语物理化学2006001108119981271362006002149105110142129……(其他用户实验的记录大家可自行插入)给出高考总分在600以上的学生准考证号Select准考证号from高考信息表where(数学+语文+英语+物理)600;6.表名:clubidgenderage67M1968F3069F2770F1671M32……(其余测试数据请自行插入)查询出该俱乐部里男性会员和女性会员的总数Selectcount(*)fromclub;7.表名:teamID(number型)Name(varchar2型)1a2b3b4a5c6c要求:执行一个删除语句,当Name列上有相同时,只保留ID这列上值小的例如:删除后的结果应如下:ID(number型)Name(varchar2型)1a2b5c请写出SQL语句。Selectname,max(id)fromteamgroupbyname;Delect*from(SelectName,max(ID)fromteamgroupbyName);8.表名:studentnamecoursescore张青语文72王华数学72张华英语81张青物理67李立化学98张燕物理70张青化学76查询出“张”姓学生中平均成绩大于75分的学生信息Select*from(Select*fromstudentwherenamelike'张%')asbstudentgroupbynamehavingavg(score)75;或者select*fromstudentwherenamein(selectnamefromstudentwherenamelike'张%'groupbynamehavingavg(score)75);