1、SQL 考试题一、选择题1.SELECT 语句中与 HAVING 子句通常同时使用的是(C)子句。A.ORDER BY B.WHERE C.GROUP BY D.无需配合2以下聚合函数求数据总和的是(B) AMAX BSUM CCOUNT DAVG 3.SELECT 语句的完整语法较复杂,但至少包括的部分是( B ) A仅 SELECT BSELECT ,FROM CSELECT,GROUP DSELECT,INTO 4.SQL 语句中的条件用以下哪一项来表达( C ) ATHEN BWHILE CWHERE DIF 5.查找表结构用以下哪一项( B ) AFIND BSELETE CALTE
2、R DDESC 6.向数据表中插入一条记录用以下哪一项( B ) ACREATE BINSERT CSAVE DUPDATE7.SQL 语言中,删除一个表的命令是( D ) AREMOVE BCLEAR CDELETE DDROP 8.修改数据库表结构用以下哪一项( D ) AUPDATE BCREATE CUPDATED DALTER 9.下列( D )不属于连接种类 A左外连接 B内连接 C中间连接 D交叉连接10.SQL 是一种 ( C )语言。 A函数型 B高级算法 C关系数据库 D人工智能 11.下列的 SQL 语句中,( B )不是数据定义语句。 ACREATE TABLE BGR
3、ANT CCREATE VIEW D DROP VIEW 12.以下聚合函数求平均数的是( C ) ACOUNT BMAX CAVG DSUM 13.用来插入数据的命令是( A ),用于更新的命令是( ) AINSERT ,UPDATE BCREATE,INSERT INTO CDELETE,UPDATE DUPDATE,INSERT 14.以下哪项用于左连接( C ) AJOIN BRIGHT JOIN CLEFT JOIN DINNER JOIN 15.一张表的主键个数为( C ) A至多 3 个 B没有限制 C至多 1 个 D至多 2 个 2、填空题 1select 9/3;的结果为_t
4、rue_。 2补全语句:select vend_id,count(*) as num_prods from products group by _vend_; 3用 SELECT 进行模糊查询时,可以使用匹配符,但要在条件值中使用_下划线_或%等通配符来配合查询。4如果 MySQL 服务名为 MySQL5,则在 Windows 的命令窗口中,启动MySQL 服务的指令是 _net start MYSQL5_。 5MySQL 是一种多用户(多用户、单用户)的数据库管理系统。 6创建数据表的命令语句是create table 表名();。 7_order by_语句可以修改表中各列的先后顺序。8当
5、某字段要使用 AUTOINCREMENT 的属性时,该字段必须是整数类型的数据。三、解答题1.表名:购物信息购物人 商品名称 数量A 甲 2B 乙 4C 丙 1A 丁 2B 丙 5(其他用户实验的记录大家可自行插入)给出所有购入商品为两种或两种以上的购物人记录Select *from 购物信息 where 商品名称=2 ;2.表名:成绩表姓名 课程 分数 张三 语文 81张三 数学 75李四 语文 56李四 数学 90王五 语文 81王五 数学 100王五 英语 49(其他用户实验的记录大家可自行插入)给出成绩全部合格的学生信息(包含姓名、课程、分数) ,注:分数在 60以上评为合格Selec
6、t 姓名,课程,分数 from 成绩表 where 分数 60;3.表名:商品表名称 产地 进价苹果 烟台 2.5苹果 云南 1.9苹果 四川 3西瓜 江西 1.5西瓜 北京 2.4(其他用户实验的记录大家可自行插入)给出平均进价在 2 元以下的商品名称Select 名称,avg(进价) from 商品表 group by 名称 having avg(进价)600;5.表名:高考信息表准考证号 数学 语文 英语 物理 化学2006001 108 119 98 127 1362006002 149 105 110 142 129(其他用户实验的记录大家可自行插入)给出高考总分在 600 以上的学
7、生准考证号Select 准考证号 from 高考信息表 where (数学+ 语文+ 英语+物理)600;6.表名:clubid gender age67 M 1968 F 3069 F 2770 F 1671 M 32(其余测试数据请自行插入)查询出该俱乐部里男性会员和女性会员的总数Select count(*) from club ;7.表名:teamID(number 型 ) Name(varchar2 型)1 a2 b3 b4 a5 c6 c要求:执行一个删除语句,当 Name 列上有相同时, 只保留 ID 这列上值小的例如:删除后的结果应如下:ID(number 型 ) Name(v
8、archar2 型)1 a2 b5 c请写出 SQL 语句。Select name ,max(id) from team group by name ;Delect * from (Select Name,max(ID) from team group by Name ) ;8.表名:studentname course score张青 语文 72王华 数学 72张华 英语 81张青 物理 67李立 化学 98张燕 物理 70张青 化学 76查询出“张”姓学生中平均成绩大于 75 分的学生信息Select * from (Select *from student where name like 张% ) as bstudent group by name having avg(score)75;或者 select * from student where name in (select name from student where name like 张% group by name having avg(score)75);