MySql考试题姓名:________ 成绩:________一、选择题(40分)1.SQL 指的是?C(A) Strong Question Language (B) Structured Question Language (C) Structured Query Language2.哪条SQL 语句用于更新数据库中的数据?C(A)MODIFY (B)SA VE AS (C)UPDATE (D)SA VE3.哪条SQL 语句用于删除数据库中的数据?B(A)COLLAPSE (B)DELETE (C)REMOVE4.哪条SQL 语句用于在数据库中插入新的数据?D(A) INSERT NEW (B)ADD RECORD (C)ADD NEW (D)INSERT INTO5.通过SQL,您如何从"Persons" 表中选取"FirstName" 列?B(A)SELECT Persons.FirstName (B)SELECT FirstName FROM Persons(C)EXTRACT FirstName FROM Persons6.通过SQL,您如何从"Persons" 表中选取所有的列?C(A)SELECT [all] FROM Persons (B)SELECT Persons(C)SELECT * FROM Persons (D)SELECT *.Persons7.通过SQL,您如何从"Persons" 表中选取"FirstName" 列的值等于"Peter"的所有记录?D(A)SELECT [all] FROM Persons WHERE FirstName='Peter'(B)SELECT * FROM Persons WHERE FirstName LIKE 'Peter'(C)SELECT [all] FROM Persons WHERE FirstName LIKE 'Peter'(D)SELECT * FROM Persons WHERE FirstName='Peter'8.通过SQL,您如何从"Persons" 表中选取"FirstName" 列的值以"a" 开头的所有记录?A(A)SELECT * FROM Persons WHERE FirstName LIKE 'a%'(B)SELECT * FROM Persons WHERE FirstName='a'(C)SELECT * FROM Persons WHERE FirstName LIKE '%a'(D)SELECT * FROM Persons WHERE FirstName='%a%'9.哪个SQL 关键词用于对结果集进行排序?D(A)ORDER (B)SORT BY (C)SORT (D)ORDER BY10.通过SQL,您如何向"Persons" 表插入新的记录?C(A)INSERT ('Jimmy', 'Jackson') INTO Persons (B)INSERT V ALUES ('Jimmy', 'Jackson') INTO Persons (C)INSERT INTO Persons V ALUES ('Jimmy', 'Jackson') 11.以下聚合函数求数据总和的是( B )A.MAX B.SUM C.COUNT D.A VG12.SELECT语句的完整语法较复杂,但至少包括的部分是( A )A.仅SELECT B.SELECT,FROM C.SELECT,GROUP D.SELECT,INTO13.SQL语句中的条件用以下哪一项来表达( C )A.THEN B.WHILE C.WHERE D.IF14.以下能够删除一列的是( B )A.alter table emp remove addcolumnB.alter table emp drop column addcolumnC.alter table emp delete column addcolumnD.alter table emp delete addcolumn15.联合查询使用的关键字是( A )A.UNIONB.JOINC.ALLD.FULL16.有订单表orders,包含用户信息userid, 产品信息productid, 以下( D )语句能够返回至少被订购过两回的productid?A. select productid from orders where count(productid)>1B. select productid from orders where max(productid)>1C. select productid from orders where having count(productid)>1 group by productidD. select productid from orders group by productid havingcount(productid)>117.UNIQUE惟一索引的作用是( A )A.保证各行在该索引上的值都不得重复B.保证各行在该索引上的值不得为NULLC.保证参加惟一索引的各列,不得再参加其他的索引D.保证惟一索引不能被删除18.查找条件为:姓名不是NULL的记录( C )A.WHERE NAME ! NULL B.WHERE NAME NOT NULLC.WHERE NAME IS NOT NULL D.WHERE NAME!=NULL19.在SQL语言中,子查询是(D)。
A.选取单表中字段子集的查询语句B.选取多表中字段子集的查询语句C.返回单表中数据子集的查询语言D.嵌入到另一个查询语句之中的查询语句20.查找表结构用以下哪一项( D )A.FIND B.SELECT C.ALTER D.DESC二、编程题(共60分)1.请说出drop、delete、truncate的区别(10分)2.根据下表写出SQL脚本。
(30分)要求:1)查出“计算机系”的所有学生信息。
Select * from 学生信息表where 院系ID =(Select 院系ID from 院系信息表where 院系名称=’计算机系’)2)查出“赵和堂”所在的院系信息。
Select 院系信息表.院系ID,院系名称,地址,联系电话from 学生信息表join 院系信息表on 学生信息表.院系ID=院系信息表.院系ID where 姓名=’赵和堂’;3)查出在“行政楼”办公的院系名称。
Select 院系名称from 院系信息表where 地址like ‘%行政楼%’4)查出男生女生各多少人。
Select 性别,count(*) from 学生信息表group by 性别5)查出跟“秦奕”同籍贯的所有人。
Select 姓名from 学生信息表where 籍贯=(Select 籍贯from 学生信息表where 姓名=’秦奕’) and 姓名<>’秦奕’6)查出有“河北”人就读的院系信息。
Select * from 院系信息表where 院系ID in(Select 院系ID from 学生信息表where 籍贯=’河北’)7)查出跟“福建女生”同院系的所有学生的信息。
8)查出学生信息表中由两个字组成的同学的姓名。
9)查出赵修平同学所在院系的名称及联系电话。
10)查出所有姓赵的同学的籍贯。
3. 学生成绩查询系统。
(10分)要求:1)查询选修了Oracle 的学生姓名;2)查询姜振国同学选修了的课程名字;Select * from 表1 join 表2 on 表1.id=表2.id join 表三on 表2.id=表3.id 3)查询只选修了1门课程的学生学号和姓名;Select 学生ID,姓名from 学生信息表where 学生ID in(Select 学生ID from 选课表group by 学生ID having count(*)=1)4)查询选修了至少3门课程的学生信息;Select 学生ID,姓名from 学生信息表where 学生ID in(Select 学生ID from 选课表group by 学生ID having count(*)>=3)5)查询js这门课的平均分4.有一个关于公司员工信息的数据库empinfo。
部门表和员工基本信息表是其中的两个表,表中信息如下:(10分)部门表depts (dept_id、dept_name、description)说明:dept_id 部门编号 dept_name 部门名称description 部门描述员工表employees(id、name、gender、dept_id、join_time、salary、address、age、des)说明:id员工号name员工姓名gender性别dept_id所在部门join_time 加入时间salary工资address地址 age年龄des描述要求:画出E-R图并写出建表语句。