sql综合测试二
- 格式:doc
- 大小:346.00 KB
- 文档页数:22
SQL Server练习题2一.建库建表:1.向数据库CPXS中的产品表CP加入数据。
产品表CPCPBH CPMC JG KCL 100001 彩色电视机3000.0 10 100002 洗衣机1200.0 20 100003 冰箱1800.0 12 100004 电热水器2000.0 30 100005 太阳能热水器2200.0 8 100006 1匹空调1800.0 5 100007 1.5匹空调2400.0 20 100008 2匹空调3800.0 6 100009 音响3500.0 3 100010 台式计算机6000.0 5 100011 MP3 300.0 10 100012 复读机200.0 20----插入CP表记录USE CPXSGOINSERT INTO CPVALUES('100001','彩色电视机',3000.0,10)GOINSERT INTO CPVALUES('100002','洗衣机',1200.0,20)GOINSERT INTO CPVALUES('100003','冰箱',1800.0,12)GOINSERT INTO CPVALUES('100004','电热水器',2000.0,30)GOINSERT INTO CPVALUES('100005','太阳能热水器',2200.0,8)GOINSERT INTO CPVALUES('100006','1匹空调',1800.0,5)GOINSERT INTO CPVALUES('100007','1.5匹空调',2400.0,20)GOINSERT INTO CPVALUES('100008','2匹空调',3800.0,6)GOINSERT INTO CPVALUES('100009','音响',3500.0,3)GOINSERT INTO CPVALUES('100010','台式计算机',6000.0,5)GOINSERT INTO CPVALUES('100011','MP3',300.0,10)GOINSERT INTO CPVALUES('100012','复读机',200.0,20)GO2.向数据库CPXS中的销售商表XSS加入数据。
计算机二级(VF)关系数据库标准语言SQL章节练习试卷2(题后含答案及解析)全部题型 2. 填空题填空题(每空2分,共30分)请将每一个空的正确答案写在答题卡上。
注意:以命令关键字填空的必须拼写完整。
1.查询设计器______生成所有的SQL查询语句。
正确答案:不能涉及知识点:关系数据库标准语言SQL2.SQL中删除表的命令是______。
正确答案:DROP TABLE 涉及知识点:关系数据库标准语言SQL 3.SQL语句可以进行多个查询的嵌套,但VisualFoxPro只支持______层嵌套。
正确答案:两涉及知识点:关系数据库标准语言SQL4.在SQL语句中,为了避免查询到重复记录,可用______短语。
正确答案:DISTINCT 涉及知识点:关系数据库标准语言SQL5.SQL语句支持集合的并运算,其运算符是______。
正确答案:UNION 涉及知识点:关系数据库标准语言SQL6.在SQL语句中用于将最终查询结果排序的短语是______。
正确答案:ORDER BY 涉及知识点:关系数据库标准语言SQL7.在SQL的自联接查询中,必须为表起______。
正确答案:别名涉及知识点:关系数据库标准语言SQL8.将查询结果存放到临时表中,使用______短语。
正确答案:INTO CURSOR 涉及知识点:关系数据库标准语言SQL9.将查询结果存放在内存变量中,使用______短语。
正确答案:INTO ARRAY 涉及知识点:关系数据库标准语言SQL10.在用SQL的CREATETABLE命令建立表时,用子句______指定表的主索引。
正确答案:PRMARY KEY 涉及知识点:关系数据库标准语言SQL11.指定包括在查询结果满足的筛选条件的短语HA VING必须与短语______起使用。
正确答案:GROUP BY 涉及知识点:关系数据库标准语言SQL12.设有如下表:学生(学生号N(3),姓名C(3),性别C(1),年龄N(2))课程(课程号C(3),课程名称C(3),教师C(3))选课(学生号N(3),课程号C(3),成绩N(3))请对下面的SQL语句填空:CREATETABLE学生______正确答案:(学生号N(3),姓名C(3),性别C(1),年龄N(2)) 涉及知识点:关系数据库标准语言SQL13.对于如下表:学生(学生号N(3),姓名C(3),性别C(1),年龄N(2))课程(课程号C(3),课程名称C(3),教师C(3))选课(学生号N(3),课程号C(3),成绩N(3)),若要将“学生号”的长度改为4,则语法为:ALTERTABLE学生______正确答案:ALTER学生号N(4) 涉及知识点:关系数据库标准语言SQL14.对于如下表:学生(学生号N(3),姓名C(3),性别C(1),年龄N(2))课程(课程号C(3),课程名称C(3),教师C(3))选课(学生号N(3),课程号C(3),成绩N(3)),若要定义“年龄”有效性规则(大于或等于19岁)和出错信息(年龄应满19岁),则语法为:ALTERTABLE学生ALTE年龄;______正确答案:SET CHECK年龄>=19ERROR“年龄应满19岁”涉及知识点:关系数据库标准语言SQL15.对于如下表:学生(学生号N(3),姓名C(3),性别C(1),年龄N(2))课程(课程号C(3),课程名称C(3),教师C(3))选课(学生号N(3),课程号C(3),成绩N(3)),若要将“成绩”属性改名为“选课成绩”,则语法为:ALTERTABLE 选课______正确答案:RANAME 成绩TO 选课成绩涉及知识点:关系数据库标准语言SQL16.对于如下表:学生(学生号N(3),姓名C(3),性别C(1),年龄N(2))课程(课程号C(3),课程名称C(3),教师C(3))选课(学生号N(3),课程号C(3),成绩N(3)),查询所有同学们已经选课教师的情况,则语法为:SELECT教师FROM 课程;WHERE课程号______正确答案:IN (SELECT DISTINCT课程号FROM选课) 涉及知识点:关系数据库标准语言SQL17.对于如下表:学生(学生号N(3),姓名C(3),性别C(1),年龄N(2))课程(课程号C(3),课程名称C(3),教师C(3))选课(学生号N(3),课程号C(3),成绩N(3)),若需统计“选课”表中已经选修了课程的学生人数,则语法为:SELECT______FROM选课正确答案:COUNT(DISTINCT学生号) 涉及知识点:关系数据库标准语言SQL18.对于如下表:学生(学生号N(3),姓名C(3),性别C(1),年龄N(2))课程(课程号C(3),课程名称C(3),教师C(3))选课(学生号N(3),课程号C(3),成绩N(3)),将选修课程号为“KC1”的同学均加上5分,则语法为:UPDATE成绩______WHERE课程号=“KC1”正确答案:SET成绩=成绩+5 涉及知识点:关系数据库标准语言SQL 19.在SQL中,用______命令修改表中的数据;用______命令修改表的结构。
sql考试题及答案【篇一:sql试题及答案】题(在每个小题四个备选答案中选出一个正确答案,填在题末的括号中)(本大题共10小题,每小题2分,总计20分)1. ()是位于用户与操作系统之间的一层数据管理软件,它属于系统软件,它为用户或应用程序提供访问数据库的方法。
数据库在建立、使用和维护时由其统一管理、统一控制。
a.dbms b.dbc.dbs d.dba2. 下列四项中,不属于sql2005实用程序的是()。
a.对象资源管理器b.查询分析器c.服务管理器d.媒体播放器3. sql server安装程序创建4个系统数据库,下列哪个不是()系统数据库。
a. masterb. modelc. pubd. msdb4. 下列哪个不是sql 数据库文件的后缀。
a..mdf b..ldfc..tif d..ndf5. sql语言允许使用通配符进行字符串匹配的*作,其中?%?可以表示()a.零个字符b.1个字符串c. 多个字符串d. 以上都是6. sql语言中,条件年龄 between 15 and 35表示年龄在15至35之间,且( )。
a.包括15岁和35岁b.不包括15岁和35岁c.包括15岁但不包括35岁d.包括35岁但不包括15岁7. sql的视图是从()中导出的。
a. 基本表b. 视图c. 基本表或视图d. 数据库8. 在sql语言中,建立存储过程的命令是()a、create procedureb、create rulec、create dured、create file9. sql语言中,删除表中数据的命令是( )。
a. deleteb. dropc. cleard. remove10. 在ms sql server中,用来显示数据库信息的系统存储过程是( )。
a. sp_dbhelpb. sp_dbc. sp_helpd. sp_helpdb二、简答题(16分)1、什么是游标?使用游标的步骤?2、什么是事务?事务的基本属性是什么?三、应用题1、创建一个名字为ks的数据库,包含一个数据文件和一个日志文件,逻辑文件名为ks_data,磁盘文件名为ks_data.mdf,文件初始容量为5mb,最大容量为10mb,文件递增量为1mb;而事务日志文件的逻辑文件名ks_log,磁盘文件名为ks_log.ldf,文件初始容量为1mb,最大容量为5mb,文件递增量为1mb(数据库创建在c:\server文件夹下)(10分)2、假设ks数据库有以下三张表,请写出下列问题的sql语句:(每题6分,共54分)学生(学号,姓名,年龄,性别)课程(课程号,课程名,任课教师)成绩(学号,课程号,成绩)(1)如何在sql server上创建这三张表;(2)查询刘峰教师所授课程号,课程名;(3)查询年龄大于20岁的所有男同学的学号、姓名;(4)查询王文芳同学选修的所有课程的课程号;(5)查询所有上刘峰老师课程的学生学号;(6)查询所有选修“数据库技术”的学生的学号;(7)向学生表中插入一条记录(?2003001?,?吴红?,21,?女?);(8)删除三张表中所有学号为20020001的学生信息;(9)把学号为20030002的学生的年龄改为22岁;sql server 2005 复习题一、选择题1. sql语言允许使用通配符进行字符串匹配的*作,其中?%?可以表示( c )a 零个字符b 1个字符串c 多个字符串d 以上都是2 如何在已经创建好的表上添加一个外键( a )a alter table 表名add foreign key(键名)reference 关联表(关联键名)b alter table 表名add primary key(键名)reference 关联表(关联键名)c alter 表名add foreign key(键名)reference 关联键名)d alter 表名add primary key(键名)reference 关联表(关联键名)3. 要修改表名为table1的字段field1长度,原为char(10)要求用sql增加长度为char(20),以下语句那个正确( c )a alter table table1 alter field1 char(20)b alter table1 alter column field1 char(20)c alter table table1 alter column field1 char(20)d alter column field1 char(20)4. 下面聚集函数中哪个只能用于计算数值类型的数据( d )a count( )b min( )c max( )d sum( )5.以下哪个关键字用来定义记录在某属性上的约束条件( d )a defaultb distinctc uniqued check6.欲往表中增加一条记录,应该用哪一条sql语句( b )a alter tableb insert into tablec create tabled drop table7.以下哪一个不是逻辑运算符( d )a notb andc ord in8. 在创建表的过程中,哪个关键字用来定义默认值( d )a distinctb uniquec checkd default二、填空题1 数据库技术经历了人工管理阶段,_________和_______三个发展阶段。
SQL基础理论测评姓名得分一、填空题(10*2分)1:SQL中定义变量的关键字:declar e2:多表连接有(请在横线上,写出对应的关键字)左连接left join右连接right join内连接inner join3:获取系统日期和时间的函数:getdate()4:关系模型的数据操纵即是建立在关系上的数据操纵,一般有__增__ 、删、改和查四种操作。
5:sql sever 2005中删除表的命令是drop删除表中字段值的命令是delelte 6:sql sever 2005中order by [字段名] 后跟asc表示升序,跟desc表示降序7:在结果集中过滤掉重复的记录使用关键字:distinct8:SQLServer中表间的关系有:一对一、一对多、多对多9:多表查询中定义表的别名的关键字是as 。
10:sql中数据类型转换函数convert()和cast()二、判断题(10*2)1、sql server 2005 查询结果中不能存在相同的字段名。
(X)2、sql server 2005 存储过程没有返回值。
(X)3、sql server 2005 函数只能返回一个数值。
(√)4、convert不能把时间类型转换成字符型。
(X)5、master和tempdb都是SQLServer2005 的系统数据库。
(√)6、sql server 2005中不等于可以用<> 和!= 都可以。
(√)7、sql中没有货币类型。
(√)8、在查询语句中系统最先执行的操作是搜索当前系统查询所使用的表,所以最先执行的语句是FROM 子句。
(√)9、存储过程要比单纯的Sql 语句执行起来要快。
(√)10、sql sever 中获取字符串长度的函数为:lenstr。
(X)三、简答题(6*10)1、什么是存储过程?存储过程有什么优点?请查资料(找不到,可以来找我)2、创建一个函数(函数名:fn_returntime),返回当前月份。
————————装——————————订————————线————————辽源职业技术学院考试答案(二)20 –20 学年第学期期《数据库SQL Server》考试试卷命题教师:审批人:考试方式:笔试答题时间60 分钟考生人数: 人一、选择题(10*2分=20分)1、家族关系在数据模型中是属于( A )。
A.层次模型B.网状模型C.关系模型D.逻辑模型2、在关系模型中,字段称为(A)。
A. 属性B.属性值C.值D.参数3、数据库设计规范化的第三范式除了要满足第一、第二范式外,还要满足( C )。
A.每个记录的列只能有一个值B.所有非主键列的值都只能由主键列中决定C.每个非主键列都必须可以从构成主键的全部的列得到D.没有冗余数据4、下列哪个是不正确的列名( C )A.a3B._ttC.123D.tname5、数据表的异常不包括( A )A.查询异常B.插入异常C.删除异常D.更改异常6、将字段类型定义为decimal(6,2),则表示小数位数为( B )位A.3B.2C.6D.不确定7、下列哪项不是查询设计器中的窗格( B )A.关系图窗格B.任务窗格C.条件窗格D.SQL窗格8、查询年龄在20-30之间(包括20和30)的记录,找出正确的查询条件设置( D )A.年龄>20 AND 年龄<30B. 年龄>=20 OR 年龄<=30C.年龄>20 OR年龄<30D. 年龄>=20 AND 年龄<=309、下列哪项是建立函数的语句( B )A.CREA TE TABLEB.CREA TE FUNCTIONC.CREA TE DA TABASED.CREA TE VIEW10、一个存储过程最多可以具有的参数数量为( C )个。
A.100B.1024C.2100D.2二、填空题(15*2分=30分)1、SQL Server语言十分简洁,语法简单,按其功能可以分成四大部分,分别是(数据定义语言)、(数据查询语言)、(数据操作语言)、(数据控制语言)。
2016年mysql二级考试答案1. 题目:请解释MySQL中的事务是什么,并说明其ACID属性。
答案:MySQL中的事务是一组原子性的SQL语句集合,要么全部执行成功,要么全部不执行。
事务的ACID属性包括原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。
原子性意味着事务中的所有操作要么全部完成,要么全部不完成。
一致性表示事务必须保证数据库从一个一致性状态转换到另一个一致性状态。
隔离性确保并发执行的事务彼此不会产生影响。
持久性意味着一旦事务提交,它对数据库的修改就是永久性的。
2. 题目:如何使用MySQL的索引来提高查询性能?答案:在MySQL中,索引可以显著提高查询性能。
首先,应该为经常作为查询条件的列创建索引。
其次,对于复合查询,可以创建复合索引。
此外,应避免在索引列上使用函数或计算,因为这会导致索引失效。
最后,定期分析和优化索引,删除不再需要的索引,以保持数据库性能。
3. 题目:解释MySQL中的主键和外键的区别。
答案:在MySQL中,主键是一个表中唯一标识每条记录的字段,它不能为NULL,并且每个表只能有一个主键。
外键则是一个表中的字段,它引用另一个表的主键,用于建立两个表之间的关系。
外键可以有多个,且可以为NULL。
4. 题目:如何备份MySQL数据库?答案:备份MySQL数据库可以通过多种方式进行,包括使用mysqldump工具进行逻辑备份,或者使用文件系统备份工具进行物理备份。
使用mysqldump时,可以通过命令行指定数据库、表和备份选项,生成SQL文件。
物理备份则涉及复制数据库文件,通常需要在数据库关闭的情况下进行。
5. 题目:请描述MySQL中的存储过程和触发器的作用。
答案:存储过程是一组为了完成特定功能的SQL语句集合,它可以接收参数、返回结果,并且可以重复使用。
存储过程可以简化复杂的操作,提高数据库操作的效率。
(sql语句试题练习及参考答案解题思路+个⼈解题思路)SQL字段说明及数据=======================================================================⼀、部门表字段描述:dp_no 部门IDdp_name 部门名称dp_loc 部门所在地⼆、员⼯表字段说明:eNo 员⼯编号eName 员⼯姓名eJob 员⼯职责emgr 上司编号eHiredate ⼊职时间eSal ⼯资ecomm 扣税dp_no 部门ID创建数据库及数据表CREATE DATABASE IF NOT EXISTS SQLTEST;CREATE TABLE IF NOT EXISTS dept(dp_no int(10) not null primary key,dp_name varchar(25),dp_loc varchar(25));CREATE TABLE IF NOT EXISTS EMP(eNo int(25) not null primary key,eName varchar(45),eJob varchar(45),emgr int(25),eHiredate date,eSal int(45),ecomm int(45),dp_no int(25));添加dept表数据:insert into dept(dp_no, dp_name, dp_loc) values (10, 'ACCOUNTING', 'NEW YORK');insert into dept(dp_no, dp_name, dp_loc) values (20, 'RESEARCH', 'DALLAS');insert into dept(dp_no, dp_name, dp_loc) values (30, 'eSalES', 'CHICAGO');insert into dept(dp_no, dp_name, dp_loc) values (40, 'OPERATIONS', 'BOSTON');commit;添加EMP表数据: eNo, eName, eJob, emgr, eHiredate, eSal, ecomm, dp_noinsert into EMP(eNo, eName, eJob, emgr, eHiredate, eSal, ecomm, dp_no) values (7369, 'SMITH', 'CLERK', 7902, '1980-12-17', 800, null, 20);insert into EMP(eNo, eName, eJob, emgr, eHiredate, eSal, ecomm, dp_no) values (7499, 'ALLEN', 'eSalESMAN', 7698,'1981-02-20', 1600, 300, 30);insert into EMP(eNo, eName, eJob, emgr, eHiredate, eSal, ecomm, dp_no) values (7521, 'WARD', 'eSalESMAN', 7698, '1981-02-22', 1250, 500, 30);insert into EMP(eNo, eName, eJob, emgr, eHiredate, eSal, ecomm, dp_no) values (7566, 'JONES', 'MANAGER', 7839, '1981-04-02' , 2975, null, 20);insert into EMP(eNo, eName, eJob, emgr, eHiredate, eSal, ecomm, dp_no) values (7654, 'MARTIN', 'eSalESMAN', 7698, '1981-09-28' , 1250, 1400, 30);insert into EMP(eNo, eName, eJob, emgr, eHiredate, eSal, ecomm, dp_no) values (7698, 'BLAKE', 'MANAGER', 7839, '1981-05-01' , 2850, null, 30);insert into EMP(eNo, eName, eJob, emgr, eHiredate, eSal, ecomm, dp_no) values (7782, 'CLARK', 'MANAGER', 7839, '1981-06-09' , 2450, null, 10);insert into EMP(eNo, eName, eJob, emgr, eHiredate, eSal, ecomm, dp_no) values (7788, 'SCOTT', 'ANALYST', 7566, '1987-04-19' , 3000, null, 20);insert into EMP(eNo, eName, eJob, emgr, eHiredate, eSal, ecomm, dp_no) values (7839, 'KING', 'PRESIDENT', null, '1981-11-17' , 5000, null, 10);insert into EMP(eNo, eName, eJob, emgr, eHiredate, eSal, ecomm, dp_no) values (7844, 'TURNER', 'eSalESMAN', 7698, '1981-09-08' ,1500, 0, 30);insert into EMP(eNo, eName, eJob, emgr, eHiredate, eSal, ecomm, dp_no) values (7876, 'ADAMS', 'CLERK', 7788, '1987-05-23' , 1100, null, 20);insert into EMP(eNo, eName, eJob, emgr, eHiredate, eSal, ecomm, dp_no) values (7900, 'JAMES', 'CLERK', 7698, '1981-12-03' , 950, null, 30);insert into EMP(eNo, eName, eJob, emgr, eHiredate, eSal, ecomm, dp_no) values (7902, 'FORD', 'ANALYST', 7566, '1981-12-02' , 3000, null, 20);insert into EMP(eNo, eName, eJob, emgr, eHiredate, eSal, ecomm, dp_no) values (7934, 'MILLER', 'CLERK', 7782, '1982-01-23' , 5000, null, 10);操作:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------SQL基本操作案例=======================================================================⽼师给的问题及解题思路【1】. 查询出JONES的领导是谁(JONES向谁报告)。
一、选择题1.在SQL中,用于从数据库中选取数据的语句是?A.SELECT(正确答案)B.INSERTC.UPDATED.DELETE2.在SQL中,如果你想选择表中所有列的数据,你应该使用哪个符号来代替列名?A.*(正确答案)B.%C.#D.$3.假设你有一个名为"Employees"的表,其中包含"EmployeeID"和"EmployeeName"两列。
如果你想选择"EmployeeName"为"John Doe"的所有记录,你应该使用哪个SQL语句?A.SELECT * FROM Employees WHERE EmployeeName = 'John Doe'(正确答案)B.SELECT * FROM Employees WHERE EmployeeID = 'John Doe'C.SELECT EmployeeName FROM Employees WHERE EmployeeID = 'John Doe'D.SELECT EmployeeID FROM Employees WHERE EmployeeName = 'John Doe'4.在SQL中,哪个子句用于对结果集进行排序?A.ORDER BY(正确答案)B.GROUP BYC.HA VINGD.WHERE5.假设你有一个名为"Sales"的表,其中包含"SaleDate"和"SaleAmount"两列。
如果你想选择2023年的所有销售记录,并且结果按照"SaleDate"降序排列,你应该使用哪个SQL 语句?A.SELECT * FROM Sales WHERE YEAR(SaleDate) = 2023 ORDER BY SaleDate DESC(正确答案)B.SELECT * FROM Sales WHERE SaleDate = 2023 ORDER BY SaleDate ASCC.SELECT * FROM Sales WHERE YEAR(SaleDate) = 2023 ORDER BY SaleAmountDESCD.SELECT * FROM Sales WHERE SaleDate = 2023 ORDER BY SaleAmount ASC6.在SQL中,哪个函数用于计算某列的平均值?A.A VG(正确答案)B.SUMC.COUNTD.MAX7.假设你有一个名为"Products"的表,其中包含"ProductID"、"ProductName"和"ProductPrice"三列。
练习91. 单项选择题(1) SQL语言是( )语言A.层次数据库B.网络数据库C. √关系数据库D.非数据库(2) 在SQL语言中,实现数据检索的语句是( )A.√SELECTB.INSERTC.UPDA TED.DELETE(3) 下列SQL语句中,修改表结构的是( )A.√ALTERB.CREATEC.UPDATED.INSERT第(4)~(7)题基于这样的3个表即学生表S、课程表C和学生选课表SC,它们的结构如下:S(S#,SN,SEX,AGE,DEPT)C(C#,CN)SC(S#,C#,GRADE)其中:S#为学号,SN,为姓名,SEX为性别,AGE为年龄,DEPT为系别,C#为课程号,CN为课程名,GRADE为成绩(4) 检索所有比"王华"同学年龄大的学生姓名、年龄和性别.正确的SELECT语句是( )A.√SELECT,AGE,SEX FROM S;WHERE AGE>(SELECT AGE FROM S WHERE SN="王华")B.SELECT SN,AGE,SEX;FROM S;C.SELECT SN,AGE,SEX ,FROM S;WHERE AGE>(SELECT AGE WHERE SN="王华")D.SELECT SN,AGE,SEX,FROM S;WHERE AGE>王华.AGE(5) 检索选修课程"C2"的学生中成绩最高的学生的学号,正确的SELECT语句是( )A.SELECT S# FORM SC;WHERE C#="C2" AND GRADE >=;(SELECT GRADE FROM SC WHERE C#="C2")B.SELECT S# FORM SCWHERE C#="C2" AND GRADE IN;(SELECT GRADE FROM SC WHERE C#="C2")C.SELECT S# FORM SC;WHERE C#="C2" AND GRADE NOT IN;(SELECT GRADE FROM SC WHERE C#="C2")D. √SELECT S# FORM SC;WHERE C#="C2" AND GRADE >=ALL;(SELECT GRADE FROM SC WHERE C#="C2")(6) 检索学生姓名及其所选修课程的课程号和成绩.正确的SELECT语句是( )A.SELECT S.SN,SC.C#,SC.GRADE;FROM S;WHERE S.S#=SC.S#B.SELECT S.SN,SC.C#,SC.GRADE;FROM SC;WHERE S.S#=SC.GRADEC. √SELECT S.SN,SC.C#,SC.GRADE;FROM S,SC;WHERE S.S#=SC.S#D.SELECT S.SN,SC.C#,SC.GRADE;FROM S.SC(7) 检索选课在四门以上的课程的学生总成绩不统计不及格的课程),并要求按总成绩的降序排列出来,正确的SELECT语句是( )A.SELECT S#, SUM(GRADE) FROM SC;WHERE GRADE>=60;GROUP BY S#;ORDER BY 2 DESC;HA VING COUNT (*)>=4B. √SELECT S#,SUM(GRADE) FROM SC;WHERE GRADE>=60;GROUP BY S#;HA VING COUNT (*).=4;ORDER BY 2 DESCC.SELECT S#,SUM(GRADE) FROM SC;WHERE GRADE>=60;HA VING COUNT (*)>=4;GROUP BY S#;ORDER BY 2 DESCD.SELECT S#,SUM(GRADE) FROM SC;WHERE GRADE>=60;ORDER BY 2 DESC;GROUP BY S#;HA VING COUNT (*)>=4(8) 假定学生关系是S(SNAME, SEX, AGE),课程关系是C( C#, CNAME,TEACHER),学生选课关系是SC(S#, C#,GRADE).要查找选修"COMPUTER"课程的"女"学生姓名,将涉及到关系( )A.SB. √SC,CC.S,SCD.S,C,SC(9) 下面叙述正确的是( )A.SELECT 命令是通过FOR子句指定查询条件B.√SELECT命令是通过WHERE子句指定查询条件C.SELECT命令是通过WHILE子句指定查询条件D.SELECT命令是通过IS子句指定查询条件(10) 已知基本表SC(S#,C#,GRADE).则"统计选修了课程的学生人次数"的LELECT-SQL语句为( )A.SELECT COUNT (DISTINCT S#) FROM SCB.√SELECT COUNT (S#) FROM SCC.SELECT COUNT () FROM SCD.DELECT COUNT (DISTINCT *) FROM SC(11) 与WHERE AGE BETWEEN 18 AND 23 完全等价的是( )A.WHERE AGE>18 AND AGE<23B.WHERE AGE>=18 AND AGE<23C.WHERE AGE>18 AND AGE<=23D.√WHERE AGE>=18 AND AGE <=23(12) 在SELECT-SQL语句的下列子句中,通常和HA VING子句同时使用的是( )A.ORDER BY 子句B.WHERE子句C. √GROUP BY 子句D.均不需要(13) 在查询中统计记录的个数时,应使用( )函数A.SUMB.COUNT(列名)C. √COUNT(*)D.A VG(14)在查询中统计某列中值的个数应使用( )函数A.SUMB. √COUNT(列名)C.COUNT(*)D.A VG2. 简答题(1) 试述SQL语言支持的三级逻辑结构(2) 设数据库company有两个基本表:职工表:EMP(E,ENAME,AGE,SALARY,D),其属性分别表示职工号,姓名,年龄,工资,工作号) 部门表:DEPA(D,DNAME,MGR),其属性分别表示部门号,部门名称,部门经理的职工号试完成以下各小题:①用CREATE TABLE 语句定义基本表EMP 和DEPA(需定义主码和外码,将mgr作为DEPA的外码)②检索每个部门的职工人数和平均工资.要求显示(部门号,部门名称,职工人数,平均工资)③在DEPA表中,删除人数少于10人的部门元组(3) 对于上题的两个基本表,试完成以下各小题:①把大于50岁的经理全部免职(即把这些部门的MGR#值置为空值得注意,用SQL语句实现②创建一个年龄大于50岁的职工视图,属性为(D, DNAME, E, ENAME, AGE, SALARY)③指出如下SQL语句的查询功能(由于有两层子查询,在VFP中不能运行)SELECT ENAME, AGE FROM EMP;WHERE E IN ;(SELECT MGR FROM DEPA;WHERE D IN;(SELECT D FROM EMP WHERE ENAME='张华'))(4) 设有如下基本表R:R(NO, NAME, SEX, AGE, CLASS)其中,NO为学号,NAME为姓名,SEX为性别,AGE为年龄,CLASS为班号,主关键字是NO.写出实现下列功能的SQL语句①插入一个记录(25,'李明','男',21,'95031')②插入"95031"班学号为30、姓名为"郑各"的学生记录③将学号为10的学生姓名改为"王华"④将所有"95101"班号改为'95091"⑤删除学号为20的学生记录⑥删除姓"王"的学生记录。
Sql⾼级综合测试试题**学院课程考试试卷课程名称:《SQLServer :数据库设计和⾼级查询》(A )卷年级:班级:姓名:_______________ 学号:_________________ 考试(考查)闭卷1. 下列哪个SQL 语句属于DDL 语句( A )。
A. Create (DDL :create drop truncate ) B. Select (DML: insert update delete select) C. Grant (DCL:grant rovoke ) D. Insert2. SQL Server 2008 的BEGIN TRANS 和COMMITTRANS,ROOLBACK TRANS 语句可⽤在( BD )中来⽀持操作的事务特性。
【选两项】 A. Select 语句B. 存储过程C. /doc/2c159297a517866fb84ae45c3b3567ec112ddc4a.html 连接对象的Transaction 属性D. 触发器3. 在SQL Server2008数据库中,从Product 表中查询出Price (价格)⾼于Pname (产品名称)为“⽹通IP 电话卡”的所有记录中的最⾼价格的查询语句是( D )。
A. SELECT * FROM Product WHERE max(Price)>’⽹通IP 电话卡’B. SELECT * FROM Product WHERE Price>(SELECT max (*)FROM Product WHERE Pname=’ ⽹通IP 电话卡’)C. SELECT * FROM Product WHERE EXISTS Pname=’⽹通IP 电话卡’D. SELECT * FROM Product WHERE Price>(SELECT max (Price )FROM Product WHERE Pname=’ ⽹通IP 电话卡’)中,声明⼀个最多可以存储10个字符的变 B )。
Sql综合测试一1、在sqlserver 2005的中,给定创建视图的代码如下:create view abcd___select*from sales where qty>90则下划线处应填写的正确关键字为()。
(选择一项)A、onB、asC、alterD、for2、在sql server 2005中,执行以下的t-sql:begin transactionif exists(select title_id from titles where title_id='tc2')begindelete from titles where title_id='tc2'rollback transactionprint'ok'end若能找到title_id的tc2的记录,将()。
(选择一项)A、删除该记录行,不打印任何信息B、不删除该记录行,并且打印okC、删除该记录行,并且打印okD、不除该记录行,也不打印任何信息3、在sql server2005数据库中,关于视图的说法错误的是()(选择一项)A、视图是一个虚拟的表,在物理介质上并不存在B、视图可以查看来自一个或多个表的内容C、修改了视图的数据,原始数据并不会被修改D、使用create view 来创建视图4、数据库设计时,在做表规范化的时候一般规范到()就足够了。
(选择一项)A、第一范式B、第三范式C、第四范式D、第五范式5、在sql server2005中,为数据库表建立索引能够()。
(选择一项)A、防止非法的删除操作B、防止非法的插入操作C、提高查询性能D、节约数据库的磁盘空间6、在sql server2005中,可以使用全局变量()来获得最后一次插入的标识值。
(选择一项)A、@@datefirstB、@@identityC、@@transcountD、@@rowcount7、在sql server2005中,以下是表autos的定义:create table autos(make varchar(20)not null,model varchar(20)not null,acquisition_cost money null,acquisition_date datetime null)创建该表后再执行以下语句:truncate table autosbegin traninsert autos(make,model) values('tucker','torpedo')if exists (select * from autos)rollback tranelsecommit tran执行结果是()。
(选择一项)A、该批处理将失败,因为begin tran…commit tran没有正确嵌套B、该批处理结束后,表内没有数据行C、该批处理结束后,表内有一行数据D、插入数据行的语句将失败,并且提示错误信息8、在sql server 2005中,创建视图view_b的代码为()。
(选择一项)A、create view view_b as select * from table_aB、create view_b as select * from table_aC、create view view_b for select * from table_aD、create view_b for select * from table_a9、在sql server的安全管理过程中,以下()的概念类似于windows中的用户。
(选择一项)A、权限B、登录帐户C、角色D、存储过程10、在sql server2005中,与以下t-sql等效的是()。
(选择一项)update titless set price=price*1.05 where pub_id in (select pub_id from publishers)A、update titles set price=price*1.05 where exists(select pub_id from publishers)B、update titles set price=price*1.05 from titles where pub_id in publishers.pub_idC、update titles set price=price*1.05 where titles.pub_id=publishers.pub_idD、update titles set price=price*1.05 form titles inner join publishers on titles.pub_id= publishers.pub_id11、sql server数据库中,包含两个表:order订单表,item订单子项目表。
当一个新定单被加入时,数据要分别保存到order和item表中,要保证数据完整性,可以使用以下()语句。
(选择一项)A、begin transaction insert into order values (此处省略) insert into item values (此处省略) end ransactionB、begin transaction insert into order values (此处省略) insert into item values (此处省略) if (@@error = 0) commit transaction else rollback transactionC、begin transaction insert into order values (此处省略) if (@@error = 0) insert into item values (此处省略) if (@@error = 0) commit transaction else rollback transaction else rollback transactionD、begin transaction insert into order values (此处省略) insert into item values (此处省略) if (@@error <> 0) rollback transaction12、在SQL Server 2005 中,正确执行存储过程MY_PROC的语句为()(选择一项)A、RUN MY_PROCB、EXEC MY_PROCC、START MY_PROCD、SHELL MY_PROC13、在SQL Server 2005 中,已知Student表有一个age列,数据类型是int,如果要限制该列的取值范围在15到30之间,可以使用以下SQL语句()(选择一项)A、alter table Student add constraint ck check(age>=15 and age<=30)B、alter table Student add constraint df default(age>=15 and age<=30)C、alter table Student add constraint uq unique(age>=15 and age<=30)D、alter table Student add set(age>=15 and age<=30)14、在SQL Server 2005 的存储过程中,()语句用来向用户报告错误,并可指定严重级别(选择一项)A、PRINTB、ERRORC、RAISERRORD、TAISE15、设计本地图书馆的一个图书借阅和跟踪系统,在SQL Server 2005数据库中包含三个表:Member(会员信息)、Borrow(借阅信息)和Book(图书信息),要求:1、每人可以借阅一或多本书;2、每本书一次只能被借给一个人;3、图书馆没有的书籍不能被借阅;要求Borrow和Book表中强制这种数据完整性,下列描述中正确的是()。
(选择二项)A、Book表中定义Book_id为主键,Borrow表中建立外键并与Book表的Book_id建立引用关系B、Borrow表中定义Borrow_id为主键,并对Borrow_id列建立检查约束C、为Book表增加一列来记录书是否被借出D、Borrow表中定义Book_id为主键,Book表中建立外键并与Borrow表的Book_id建立引用关系16、在SQL Server 2005中,假设有表UserInfo(数据如下左图),UserScore(数据如下右图),则执行以下查询语句得到的结果是( ) (选择一项)select username from UserInfo where userid in(select userid from UserScore where score>=60)A、魏中国、张漫玉、刘勇B、魏中国、张漫玉C、张漫玉、刘勇D、魏中国、刘勇17、SQL Server2005数据库系统中的编程语言是T-SQL,在T-SQL中存储数据值的对象是变量,T-SQL语言中的局部变量名称必须以( )标记作为前缀。
(选择一项)A、@@B、@C、&D、&&18、SQL Server2005数据库中,存在表users(含name、salary字段),则下面语句实现的功能是( )。
(选择一项)If Exists(select * from users where salary<5000)BeginUpdate users set salary=5000EndGoA、若存在工资小于5000的用户,就把他们的工资加到5000B、若存在工资小于5000的用户,就把所有人的工资设置为5000C、若不存在工资小于5000的用户,就把他们的工资加到5000D、若不存在工资小于5000的用户,就把所有人的工资设置为500019、在SQL Server2005数据库中,现有表student(数据如下左图),class(数据如下右图),现在针对“中文2”班的学生姓名和班级名建立视图如下所示,则下划线处应填写的内容为( )。
(选择一项)Create View ScanNameInfo AsSELECT a.studentname,b.classname FROM dbo.student aINNER JOIN dbo.class b_______A、ON a.classID=b.classID WHERE(b.classID=2)B、IN a.classID=b.classID WHERE(b.classID=2)C、ON a.classID=b.classID=2D、IN a.classID=b.classID and b.classID=220、在SQL Server 2005数据库系统中,以下扩展名的文件中不是SQL Server 2005数据库文件的是( )。