SQL 判断 试卷
sql数据库期末考试题及答案
sql数据库期末考试题及答案一、单选题(共10 道试题,共50 分。
)1. SQL Server中,保存着每个数据库对象的信息的系统表是(C)。
A. sysdatabasesB. SyscolumnsC. SysobjectsD. Syslogs2. 在存在下列关键字的SQL语句中,不可能出现Where子句的是(D)。
A. UpdateB. DeleteC. InsertD. Alter3. 在查询语句的Where子句中,如果出现了“age Between 30 and 40”,这个表达式等同于(A)。
A. age>=30 and age<=40B. age>=30 or age<=40C. age>30 and age<40D. age>30 or age<404. 如果要在一张管理职工工资的表中限制工资的输入范围,应使用(D)约束。
A. PDRIMARY KEYB. FOREIGN KEYC. uniqueD. check5. 记录数据库事务操作信息的文件是(D)。
A. 数据文件B.索引文件C. 辅助数据文件D. 日志文件6. 要查询XSH数据库CP表中产品名含有“冰箱”的产品情况,可用(C)命令。
A. SELECT * FROM CP WHERE 产品名称LIKE …冰箱?B. SELECT * FROM XSH WHERE 产品名称LIKE …冰箱?C. SELECT * FROM CP WHERE 产品名称LIKE …%冰箱%?D. SELECT * FROM CP WHERE 产品名称=…冰箱?7. 储蓄所有多个储户,储户能够在多个储蓄所存取款,储蓄所与储户之间是(D)。
A. 一对一的联系B.一对多的联系C. 多对一的联系D. 多对多的联系8. SQL的聚集函数COUNT、SUM、AVG、MAX、MIN不允许出现在查询语句的(D)子句之中。
sql考试题及答案
sql考试题及答案SQL考试题及答案一、选择题(每题2分,共20分)1. 下列哪个SQL语句用于查询数据?A. SELECTB. INSERTC. UPDATED. DELETE答案:A2. 以下哪个SQL语句用于删除表中的数据?A. DROP TABLEB. DELETE FROMC. TRUNCATE TABLED. ALTER TABLE答案:B3. SQL中的主键约束是什么?A. UNIQUEB. PRIMARY KEYC. FOREIGN KEYD. CHECK答案:B4. 以下哪个函数用于计算字符串的长度?A. CONCAT()B. SUBSTRING()C. LENGTH()D. UPPER()答案:C5. 以下哪个语句用于添加新的数据表?A. CREATE DATABASEB. CREATE TABLEC. ALTER TABLED. DROP TABLE答案:B6. SQL中的LIKE语句用于什么?A. 排序B. 条件搜索C. 聚合数据D. 连接表答案:B7. 以下哪个语句用于修改表结构?A. CREATE TABLEB. ALTER TABLEC. DROP TABLED. TRUNCATE TABLE答案:B8. SQL中的GROUP BY语句用于什么?A. 排序结果B. 聚合数据C. 过滤数据D. 连接表答案:B9. 以下哪个语句用于删除数据库?A. DROP TABLEB. DROP DATABASEC. DELETE FROMD. TRUNCATE TABLE答案:B10. SQL中的INNER JOIN用于什么?A. 内连接B. 外连接C. 全连接D. 交叉连接答案:A二、填空题(每空2分,共20分)1. SQL中的______语句用于插入数据到表中。
答案:INSERT INTO2. 要查询所有列,可以使用SQL中的______关键字。
答案:*3. SQL中的______语句用于删除表。
复杂数据集的SQL查询处理试卷
复杂数据集的SQL查询处理试卷(答案见尾页)一、选择题1. 在SQL中,如何高效地查询大量数据时减少查询时间?A. 使用索引B. 使用分区C. 将数据存储在多个表中D. 使用物化视图2. 当需要对多个表进行复杂的连接操作时,应该使用哪种类型的子查询?A. 表子查询B. 行子查询C. 列子查询D. 匿名子查询3. 在处理包含大量重复数据的表时,可以使用哪种方法来提高查询效率?A. 使用UNION操作符B. 使用GROUP BY子句C. 使用DISTINCT关键字D. 使用JOIN操作符4. 以下哪个SQL语句可以有效地从一个表中提取特定的列,并根据某个条件过滤结果?A. SELECT * FROM table_name WHERE condition;B. SELECT column1, column2 FROM table_name WHERE condition;C. SELECT * FROM table_name GROUP BY column1, column2;D. SELECT column1, column2 FROM table_name HAVING condition;5. 如果需要在查询中同时使用聚合函数和非聚合函数,应该使用哪种语法结构?A. SELECT aggregate_function(column) FROM table_name WHERE condition;B. SELECT column, aggregate_function(column) FROM table_name WHERE condition;C. SELECT aggregate_function(column), column FROM table_name WHERE condition;D. SELECT column, aggregate_function(column), column FROM table_name WHEREcondition;6. 在处理具有复杂关系的数据集时,如何确保查询结果的准确性和完整性?A. 使用外键约束B. 使用触发器C. 使用事务D. 使用存储过程7. 如果需要将查询结果保存到另一个表中,应该使用哪种语法结构?A. INSERT INTO new_table_name (column1, column2) SELECT column1, column2 FROM existing_table_name WHERE condition;B. INSERT INTO new_table_name SELECT column1, column2 FROM existing_table_name WHERE condition;C. INSERT INTO new_table_name (column1, column2) SELECT column1, column2 FROM existing_table_name GROUP BY condition;D. INSERT INTO new_table_name SELECT column1, column2 FROM existing_table_name ORDER BY condition;8. 在处理大型数据库时,为了提高查询性能,通常建议避免使用哪种类型的子查询?A. 相关子查询B. 非相关子查询C. 表子查询D. 行子查询9. 如果需要对查询结果进行分组并计算每组的数量,应该使用哪种聚合函数?A. COUNT()B. SUM()C. AVG()D. MIN()10. 在处理包含大量历史数据的数据库时,如何确保查询结果的实时性?A. 使用缓存技术B. 使用触发器C. 使用物化视图D. 使用分布式查询11. 在SQL中,用于查询某个表中满足特定条件的元组的关键词是什么?A. SELECTB. FROMC. WHERED. GROUP BY12. 在构建复杂的SQL查询时,通常会使用以下哪个关键字来对结果进行分组?A. ORDER BYB. GROUP BYC. LIMITD. UNION13. 如果想要在查询结果中包含行号,应该使用哪个关键字?A. ROW_NUMBER()B. RANK()C. DENSE_RANK()D. COUNT()14. 在SQL中,如何使用子查询来获取某个字段的值,该值需要依赖于另一个表的字段?A. JOINB. EXISTSC. IND. SELECT15. 假设我们有两个表,table和table,它们之间通过field字段相关联。
sql查询测试题
当然,我可以提供一些 SQL 查询测试题供您练习。
1. 请查询出表格 "students" 中所有的学生信息。
```sqlSELECT * FROM students;```2. 请查询出表格 "students" 中年龄大于等于 18 岁的学生信息。
```sqlSELECT * FROM students WHERE age >= 18;```3. 请查询出表格 "students" 中名字以 "张" 开头的学生信息。
```sqlSELECT * FROM students WHERE name LIKE '张%';```4. 请查询出表格 "students" 中成绩在 80 到 90 之间的学生信息。
```sqlSELECT * FROM students WHERE score BETWEEN 80 AND 90;```5. 请查询出表格 "students" 中按成绩从高到低排列的学生信息。
```sqlSELECT * FROM students ORDER BY score DESC;```6. 请查询出表格 "students" 中男生和女生的人数。
```sqlSELECT gender, COUNT(*) AS count FROM students GROUP BY gender;```这些问题可以帮助您熟悉 SQL 查询语句的使用。
根据您的具体数据库结构和需求,可能需要进行适当调整。
祝您练习愉快!。
sql考试题及答案
sql考试题及答案sql考试题及答案【篇一:sql试题及答案】题(在每个小题四个备选答案中选出一个正确答案,填在题末的括号中)(本大题共10小题,每小题2分,总计20分)1. ()是位于用户与操作系统之间的一层数据管理软件,它属于系统软件,它为用户或应用程序提供访问数据库的方法。
数据库在建立、使用和维护时由其统一管理、统一控制。
a.dbms b.db c.dbs d.dba2. 下列四项中,不属于sql2005实用程序的是()。
a.对象资源管理器b.查询分析器c.服务管理器d.媒体播放器3. sql server安装程序创建4个系统数据库,下列哪个不是()系统数据库。
a. masterb. modelc. pubd. msdb4. 下列哪个不是sql 数据库文件的后缀。
a..mdf b..ldf c..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. delete b. dropc. cleard. remove10. 在ms sql server中,用来显示数据库信息的系统存储过程是( )。
a. sp_dbhelp b. sp_db c. sp_help d. 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)向学生表中插入一条记录(?***-*****?,?吴红?,21,?女?);(8)删除三张表中所有学号为***-*****的学生信息;(9)把学号为***-*****的学生的年龄改为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 default b distinct c unique d check6.欲往表中增加一条记录,应该用哪一条sql语句(b )a alter table b insert into table c create table d drop table7.以下哪一个不是逻辑运算符(d )a not b and c or d in8. 在创建表的过程中,哪个关键字用来定义默认值( d ) a distinct b unique c check d default 二、填空题1 数据库技术经历了人工管理阶段,_________和_______三个发展阶段。
SQL基础测试2试卷答案
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),返回当前月份。
十几道sql语句面试题
where(select count(*) fromscwheresno=stu.snoandcno=
(selectcnofrom Course wherecname='计算机原理')) != 0;
2)SQL语句如下:
selectcnamefrom Course
8、查询所有课程成绩小于60分的同学的学号、姓名;
selectS#,Sname
fromStudent
whereS# not in (selectStudent.S# fromStudent,SCwhere S.S#=SC.S# and score>60);
9、查询没有学全所有课的同学的学号、姓名;
selectStudent.S#,Student.Sname
createtable c(id integer primary key, namevarchar(20));
createtablesc(
sidinteger references s(id),
cidinteger references c(id),
primarykey(sid,cid)
);
2)SQL语句如下:
fromStudent
where S# not in (select distinct( SC.S#) fromSC,Course,Teacherwhere SC.C#=Course.C# andTeacher.T#=Course.T# andTeacher.Tname=’叶平’);
6、查询学过“001”并且也学过编号“002”课程的同学的学号、姓名;
108、数据库表(Test)结构如下:【基础】
SQL基础测试试卷答案
C可以使用print语句和select语句输出结果。D局部变量的命名必须以@打头。
3.【SQL】select3/2*10的结果(A)。
A.10B.15
C.20D.30
4.【SQL】在表中使用IDENTITY列时,每张表只允许有(A)IDENTITY列
A.OnShowB.OnClick
C.OnCreateD.OnActivate
10.【Delphi】要给菜单项分组,可以添加一个菜单项并设置它的Caption属性值为(C)。
A.空格B./
C.-D.&
11.【SQL】sql中求表stu(user,name,mail)中一共有多少行,错误的写法:(C)
3.【Delphi】设有一个整型变量a和一个字符型变量b和一个文本控件EditTest写出下列语句:
1)把a的值转换成字符串赋给b
b:=vartostr(a);
2)判断如果a>0时,让EditTest显示a的值。
If a>0 then
EditTest.Text:= vartostr(a);
3)判断如果a>0并且a<100时,让a=0否则a=100
selectsubstring('SQL语言',2,2)
将字符串‘sQL’全部转换成大写:selectupper('sQL')
计算字符串‘s,q,,l, ,s,e,l,ver,,,’中,的个数:
SELECTlen(REPLACE('s,q,,l,,s,e,l,ver,,,,',',',,'))-
len('s,q,,l, ,s,e,l,ver,,, ')
sql测试题和答案
sql测试题和答案在进行SQL数据库开发时,进行一些测试是非常重要的。
通过测试,我们可以验证数据库的正确性,保证数据的一致性,并且提前发现和解决潜在的问题。
本文将提供一些常见的SQL测试题目,并且给出相应的答案,帮助读者更好地理解SQL语言的使用和测试方法。
一、题目1:查询订单表中购买数量最多的商品名称和购买数量。
答案:```sqlSELECT product_name, MAX(quantity) AS max_quantityFROM ordersGROUP BY product_name;```二、题目2:查询每个部门的平均工资和人数,结果按平均工资降序排列。
答案:```sqlSELECT department, AVG(salary) AS avg_salary, COUNT(*) AS num_employeesFROM employeesGROUP BY departmentORDER BY avg_salary DESC;```三、题目3:查询没有订单的客户名称和联系方式。
答案:```sqlSELECT customer_name, contact_numberFROM customersWHERE customer_id NOT IN (SELECT DISTINCT customer_idFROM orders);```四、题目4:查询每个国家的订单数和总销售额,并按总销售额降序排列。
答案:```sqlSELECT country, COUNT(*) AS num_orders, SUM(total_amount) AS total_salesFROM ordersGROUP BY countryORDER BY total_sales DESC;```五、题目5:查询购买了所有商品的客户名称和联系方式。
答案:```sqlSELECT customer_name, contact_numberFROM customersWHERE customer_id IN (SELECT customer_idFROM ordersGROUP BY customer_idHAVING COUNT(DISTINCT product_name) = (SELECT COUNT(DISTINCT product_name)FROM products));```六、题目6:查询每个部门的最高工资和最低工资。
大连理工大学20年秋季学期《SQL数据库系统及应用》在线作业2附参考答案
大连理工大学20年秋季学期《SQL数据库系统及应用》
在线作业2附参考答案
试卷总分:100 得分:100
一、单选题 (共 10 道试题,共 50 分)
1.在SQL的select语句中,如果要过滤结果中的重复行,可以在字段列表前面加上( )。
A.group
B.order
C.top
D.distinct
答案:D
2.在select语句中如果要对得到的结果中某个字段按降序处理,则使用( )参数。
A.asc
B.desc
C.between
D.and
答案:B
更多加微boge30619
3.查询学校员工工资信息时,结果按工资降序排列,正确的
是( )。
A.ORDER BY 工资
B.ORDER BY 工资 desc
C.ORDER BY 工资 asc
D.ORDER BY 工资 and
答案:B
4.当使用SQL语句进行分组检索时,为了按照一定的条件对分组后的数据进行筛选,应当( )。
A.在join后面使用between to子句
B.在group by后面使用having子句
C.在where后面使用order by子句
D.在join后面使用order by子句
答案:B
5.在SQL查询语句中,HAVING子句的作用是( )。
A.指出排序的范围
B.指出查询结果的最大值
C.指出分组查询的条件
D.指出创建数据表的字段
答案:C。
sql语句测试题
sql语句测试题1. 你知道吗?SQL 语句就像一把神奇的钥匙,能打开数据宝库的大门!比如要从学生表中找出成绩大于 80 分的同学,你会写这样的 SQL 语句吗?“SELECT * FROM students WHERE score > 80;” 是不是感觉很有趣?2. 嘿,朋友!想想 SQL 语句是不是如同魔法咒语,能让数据乖乖听话?像查找所有姓李的员工信息,“SELECT * FROM employees WHERE name LIKE '李%';” 这可不难吧?3. 亲,SQL 语句测试能让你瞬间变身数据大师哦!比如说要统计订单表中总价超过 1000 元的订单数量,“SELECT COUNT(*) FROM orders WHERE total_price > 1000;” 你能轻松应对吗?4. 哇塞!SQL 语句的世界简直太奇妙啦!就好比你要从图书馆的海量书籍中准确找到你想要的那一本。
像找出商品表中价格最高的商品,“SELECT * FROM products ORDER BY price DESC LIMIT 1;” 你能写出来吗?5. 哟呵,SQL 语句测试可难不倒聪明的你!假设要找出上个月的销售记录,“SELECT * FROM sales WHERE sale_date BETWEEN '2023-09-01' AND '2023-09-30';” 这对你来说是不是小菜一碟?6. 哎呀!SQL 语句就像解谜游戏,充满挑战和乐趣!比如要找出部门表中员工人数最多的部门,“SELECT department_id, COUNT(*) ASemployee_count FROM employees GROUP BY department_id ORDER BY employ ee_count DESC LIMIT 1;” 你敢来试试吗?7. 嘿呀!SQL 语句可真是个厉害的家伙,能帮你搞定各种数据难题!像要找出年龄在 20 到 30 岁之间的用户,“SELECT * FROM users WHERE age BETWEEN 20 AND 30;” 你能快速写出来吗?8. 哇哦!SQL 语句的魅力无人能挡!好比你在茫茫人海中精准找到那个对的人。
sql 测验20题
sql 测验20题为了生成20个关于SQL的测验题目,我们需要确定问题的难度、涉及的主题范围以及可能的格式。
下面我将为您生成一些基础到高级的SQL测验题,确保题目覆盖了SQL的核心概念。
一、选择题1.什么是SQL?A. 一种编程语言B. 数据库管理系统C. 结构化查询语言D. 数据挖掘工具2.以下哪个关键字用于插入数据?A. UPDATEB. DELETEC. INSERTD. SELECT3.哪个关键字用于更新数据?A. SETB. WHEREC. UPDATED. DELETE4.哪个关键字用于从数据库中选择数据?A. SELECTB. INSERTC. UPDATED. DELETE5.要查询一个表中的所有记录,应该使用哪个语句?A. SELECT * FROM table_name;B. SELECT table_name;C. SELECT * FROM table_name WHERE condition;D. SELECT table_name WHERE condition;6.要删除一个表中的记录,应该使用哪个语句?A. DELETE FROM table_name;B. DELETE FROM table_name WHERE condition;C. DELETE * FROM table_name;D. DELETE * FROM table_name WHERE condition;7.要排序查询结果,应该使用哪个关键字?A. ORDER BYB. GROUP BYC. HAVINGD. JOIN8.要限制查询结果的数量,应该使用哪个关键字?A. LIMITB. FETCHC. TOPD. ROWS9.哪个函数用于字符串连接?A. CONCAT()B. CONCATENATE()C. JOIN()D. STRING()10.哪个函数用于获取当前日期和时间?A. GETDATE()B. NOW()C. CURRENT_TIMESTAMP()D. SYSDATE()二、填空题1.SQL中用于比较两个值的运算符是__________。
SQL笔试题
SQL 笔试题一、填空1、目前较为流行的三种 DBMS: ( ) 、( ) 、( ) 。
P22、数据库设计过程包括( )个阶段, ( )阶段是基础; ( )阶段是关键。
3、用户需求包括信息需求和( )需求。
P34、数据库设计最耗时的阶段是( ),整个数据库生存周期最耗时的阶段是( ) 。
P45、现实世界中客观存在的并可区分识别的事物称为( ) 。
6、属性的特定取值范围称为( ) 。
P77 、E-R 模型的英文全拼是( ) p88、如果 E-R 图中,菱形框引出的属性称为( ) 。
9、概念模型设计第一步( ),第二步( ) 。
P910、合并 E-R 模型之前要解决局部 E-R 模型( )问题。
11、概念结构设计优化指,对初步 E-R 图进行修改,消除( ),生成基本的 E-R 图。
12、数据模型优化的根据是( ) 。
13、关系就是由行和列组成的( ) 。
P1114、关系中的行称为( ),列称为( ) 。
15、完整性指数据的( )和( ) 。
P1616、实体完整性指( ) 。
P1617、参照完整性指( ) 。
18、索引的作用( ) 。
19、默认文件组的名字是( ) 。
P4420、执行 SQL 脚本的快捷键是( ) 。
P4721、【分离】数据库后,恢复数据库的操作是( ) 。
22、【脱机】数据库后,恢复数据库的操作是( ) 。
23、数据类型 numeric(6,2)含义是( ) 。
24、( )是 SQL Server2005 提供的自动保持数据完整性的一种方法。
P7525、( )情况下主键约束一定是表级约束。
P7826、字段别名改变的是( ) 。
P10527、连接查询指( ) 。
P12328、写出 A 与 B 左外连接的语句( ) 。
29、在连接查询中,物理避免来自不同表相同字段引起混淆,在列名前面增加( ) 作为前缀。
30、T-SQL 中 T 的中文含义是( ) 。
31、T-SQL 语言分( )类。
(完整版)常见SQL笔试题
SQL笔试题1.统计查问 SQL练习数据库中表构造以下,字段分别任rg (日期), shengfu (输赢),观察 group by语句的使用:2005-05-09胜2005-05-09胜2005-05-09负2005-05-09负2005-05-10胜2005-05-10负2005-05-10负假如要生成以下结果 , 该怎样写 sql语句?输赢2005-05-09 2 22005-05-10 1 2答案:1)select rq, sum(case when shengfu=' 胜' then 1 else 0 end)' 胜',sum(case when shengfu=' 负 'then 1 else 0 end)' 负' from #tmp group by rq2) select N.rq,N. 胜 ,M. 负from (select rq, 胜=count(*) from #tmp where shengfu=' 胜 'group by rq)N inner join(select rq, 负 =count(*) from #tmp where shengfu='负'group by rq)M on胜负from(select col001,count(col001) a1 from temp1 where col002='胜' group by col001) a,(select col001,count(col001) b1 from temp1 where col002='负' group by col001) b2.条件判断 SQL 练习表中有 A B C三列,用SQL语句实现:当 A 列大于 B 列时选择 A 列不然选择B列,当B 列大于 C 列时选择 B 列不然选择 C 列答案:select (case when a>b then a else b end ),(case when b>c then b esle c end)from table_name3.日期统计 SQL 练习请拿出tb_send表中日期(SendTime字段)为当日的所有记录?(SendTime 字段为datetime 型,包括日期与时间 )答案:select * from tb where datediff(dd,SendTime,getdate())=04.统计查问 SQL 练习有一张表,里面有 3 个字段:语文,数学,英语。
SQL试题(附答案)
《SQL 数据库管理与开发教程与实训》试题<A 卷>一、单项选择题<每小题1分,共10分>1.下列四项中,不属于数据库特点的是〔 C 〕.A.数据共享B.数据完整性C.数据冗余很高D.数据独立性高2.下列四项中,不属于SQL2000实用程序的是〔 D 〕.A.企业管理器B.查询分析器C.服务管理器D.媒体播放器3.SQL Server 安装程序创建4个系统数据库,下列哪个不是〔 C 〕系统数据库.4.〔 A 〕是位于用户与操作系统之间的一层数据管理软件,它属于系统软件,它为用户或应用程序提供访问数据库的方法.数据库在建立、使用和维护时由其统一管理、统一控制.A .DBMSB .DBC .DBSD .DBA 5.在SQL 中,建立表用的命令是 < B >. A.CREATE SCHEMAB.CREATE TABLE C.CREATE VIEWD.CREATE INDEX6.SQL 语言中,条件年龄 BETWEEN 15 AND 35表示年龄在15至35之间,且< A >.A.包括15岁和35岁B.不包括15岁和35岁C.包括15岁但不包括35岁D.包括35岁但不包括15岁7.下列四项中,不正确的提法是< C >.A.SQL 语言是关系数据库的国际标准语言B.SQL 语言具有数据定义、查询、操纵和控制功能C.SQL 语言可以自动实现关系数据库的规范化D.SQL 语言称为结构查询语言8.在MS SQL Server 中,用来显示数据库信息的系统存储过程是< D >.A. sp_dbhelpB. sp_dbC. sp_helpD. sp_helpdb9.SQL 语言中,删除表中数据的命令是< A >.A. DELETEB. DROPC. CLEARD. REMOVE10.SQL 的视图是从〔 C 〕中导出的.A. 基本表B. 视图C. 基本表或视图D. 数据库三、填空题<每空1分,共20分>1.数据库系统具有数据的_外模式___、_模式________和内模式三级模式结构.2.SQL Server 2000局部变量名字必须以_________开头,而全局变量名字必须以_________开头.3.语句 select ascii<'D'>, char<67> 的执行结果是:_______68__和____C_____.4.语句 select lower<'Beautiful'> , rtrim<'我心中的太阳 '> 的执行结果是:_____beautiful_______和__我心中的太阳________.5.选择运算是根据某些条件对关系做______分割;投影是根据某些条件对关系做______分割.6.关系运算主要有________、________和连接.7.完整性约束包括______完整性、______完整性、参照完整性和用户定义完整性.8.在SQL Server 2000中,数据库对象包括__表____、_视图_____、触发器、过程、列、索引、约束、规则、默认和用户自定义的数据类型等.9.语句 select day<'2004-4-6'>, len<'我们快放假了.'> 的执行结果是:_6________和________7_.10.语句 select round<13.4321,2>, round<13.4567,3>的执行结果是:_13.4300________和_______13.4570__.五、设计题<共50分>现有关系数据库如下:数据库名:我班同学数据库同学表<学号 char<6>,##,性别,年龄,民族,##号,宿舍号>宿舍表<宿舍号 char<6>,宿舍 >用SQL语言实现下列功能的sql语句代码:2.创建数据表[宿舍表]代码<3分>;宿舍表<宿舍号 char<6>,宿舍 >要求使用:主键<宿舍号>、宿舍:以633开头的7位同学表<学号 char<6>,##,性别,年龄,民族,##号,宿舍号>要求使用:主键<学号>、外键<宿舍号>、默认<民族>、非空<民族,##,年龄>、唯一<##号>、检查<性别>4.将下列宿舍信息添加到宿舍表的代码<8分>宿舍号宿舍101 6331157102 6331777修改宿舍号为101的宿舍:6331158删除宿舍号为102的宿舍信息5.创建视图[同学表视图]代码<5分>;同学表视图<学号, ##, 性别, 年龄, 民族, ##号, 宿舍号, 宿舍 >7.从同学表中查询女同学的最大年龄、最小年龄、平均年龄.<5分>8.创建带参数的存储过程[某宿舍同学]:##, 性别, 宿舍执行此过程,查询'101'宿舍情况 <8分>9.设置一SQL身份验证的用户账户:登录名:U班主任,密码:888,数据库用户名:U读者,权限:可查询查询本数据库中所有表、视图、内嵌表值函数的数据,执行所有的存储过程.请写出账户、权限设置的T_SQL脚本.<9分>一、三、《SQL数据库管理与开发教程与实训》试题<B卷>马建鹏老师一、单项选择题<每小题1分,共10分>1.〔〕是位于用户与操作系统之间的一层数据管理软件,它属于系统软件,它为用户或应用程序提供访问数据库的方法.数据库在建立、使用和维护时由其统一管理、统一控制.A.DBMSB.DBC.DBSD.DBA2.下列四项中,不属于SQL2000实用程序的是〔〕.A.企业管理器B.查询分析器C.服务管理器D.媒体播放器3.SQL Server安装程序创建4个系统数据库,下列哪个不是〔〕系统数据库.A. masterB. modelC. pubD. msdb4.下列哪个不是sql 数据库文件的后缀.A..mdfB..ldfC..tifD..ndf5.数据定义语言的缩写词为 < >.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三、填空题<每空1分,共20分>1.SQL Server 2000局部变量名字必须以_________开头,而全局变量名字必须以_________开头.2.语句 select ascii<'D'>, char<67> 的执行结果是:_________和_________.3.语句 select lower<'Beautiful'> , rtrim<'我心中的太阳 '> 的执行结果是:____________和___________.4.选择运算是根据某些条件对关系做______分割;投影是根据某些条件对关系做______分割.5.关系运算主要有________、________和连接.6.完整性约束包括_______完整性、______完整性、参照完整性和用户定义完整性.7.T-SQL 语言中,有_________运算、字符串连接运算、比较运算和_________运算.8.语句 select day<'2004-4-6'>, len<'我们快放假了.'> 的执行结果是:_________和_________.9.语句 select floor<17.4>, floor<-214.2>, round<13.4382,2>, round<-18.4562,3>的执行结果是: _________、_________、_________和_________.五、设计题<共45分>现有关系数据库如下:数据库名:学生成绩数据库学生信息表<学号 char<6>,##,性别,民族,##号>课程信息表<课号 char<6>,名称>成绩信息表<ID,学号,课号,分数>用SQL语言实现下列功能的sql语句代码.1.创建数据库[学生成绩数据库]代码<2分>.2.创建数据表[课程信息表]代码;〔2分〕课程信息表<课号 char<6>,名称>要求使用:主键<课号>、非空<名称>3.创建数据表[学生信息表]代码;〔4分〕学生信息表<学号 char<6>,##,性别,民族,##号>要求使用:主键<学号>、默认<民族>、非空<民族,##>、唯一<##号>、检查<性别>4.创建数据表[成绩信息表];〔5分〕成绩信息表<ID,学号,课号,分数>要求使用:外键<学号,课号>、检查<分数>,自动编号<ID>5.将下列课程信息添加到课程信息表的代码〔8分〕课号名称100101 西班牙语100102 大学英语修改课号为100102的课程名称:专业英语删除课号为100101的课程信息6.创建视图[成绩信息表视图]的代码;〔5分〕成绩信息表视图<学号,##,课号,课程名称,分数>7.从学生信息表中查询姓刘的女同学的情况:##、性别、民族.〔2分8.查询有一门或一门以上课程成绩小于60分的所有学生的信息,包括学号、##.〔4分〕9.创建带参数的存储过程[某门课程高低均分]、执行该过程的代码〔7分〕存储过程功能:查询某门课程的最高分、最低分、平均分;执行该过程,查询所有修’专业英语’这门学生的最高分、最低分、平均分;10设置一SQL身份验证的用户账户:登录名:U院长,密码:888,数据库用户名:U读者,权限:可查询查询本数据库中所有表、视图、内嵌表值函数的数据,执行所有的存储过程.请写出账户、权限设置的T_SQL脚本.<6分>一、五、《SQL数据库管理与开发教程与实训》试题<C卷>杜兆将老师一、单项选择题<每小题1分,共10分>1.下列四项中,不属于数据库特点的是〔〕.A.数据共享B.数据完整性C. 数据冗余很高D.数据独立性高2. 目前〔〕数据库系统已逐渐淘汰了网状数据库和层次数据库,成为当今最为流行的商用数据库系统.A.关系B.面向对象C.分布3. 数据库设计中的概念结构设计的主要工具是〔〕.A.数据模型B.E—R模型 C.新奥尔良模型D.概念模型4. 〔〕是位于用户与操作系统之间的一层数据管理软件,它属于系统软件,它为用户或应用程序提供访问数据库的方法.数据库在建立、使用和维护时由其统一管理、统一控制.A.DBMSB.DBC.DBSD.DBA5. 在SQL中,建立视图用的命令是 < >.A.CREATE SCHEMAB.CREATE TABLEC.CREATE VIEWD.CREATE INDEX6. SQL语言中,条件"年龄BETWEEN 20 AND 30"表示年龄在20至30之间,且< >.A.包括20岁和30岁B.不包括20岁和30岁C.包括20岁但不包括30岁D.包括30岁但不包括20岁8. 在MS SQL Server中,用来显示数据库信息的系统存储过程是< >.A. sp_dbhelpB. sp_dbC. sp_helpD. sp_helpdb9. SQL语言中,删除一个表的命令是< >.A. DELETEB. DROPC. CLEARD. REMOVE10.SQL的视图是从〔〕中导出的.A.基本表B. 视图 C. 基本表或视图D. 数据库三、填空题<每空1分,共20分>1. 数据库系统具有数据的___________、_________和_________三级模式结构.2. SQL Server 2000局部变量名字必须以_________开头,而全局变量名字必须以_________开头.3. 语句 select ascii<'C'>, char<68>, len<'你是BigTiger '> 的执行结果是:_________、_________和_________.4. 语句select upper<'beautiful'> ,ltrim <'我心中的太阳'> 的执行结果是:____________和___________.5. 关系运算主要有________、________、________.6. 选择运算是根据某些条件对关系做______分割;投影是根据某些条件对关系做______分割.7. 索引的类型主要有__和_ __.8. 在SQL Server 2000中,数据库对象包括数据表、______、______、触发器、规则、默认和用户自定义的数据类型等.五、设计题<共50分>现有关系数据库如下:数据库名:学生成绩数据库学生表<学号 char<6>,##,性别,民族,##号>课程表<课号 char<6>,名称>成绩表<ID,学号,课号,分数>用SQL语言实现下列功能的sql语句代码:1.创建数据库[学生成绩数据库]代码<2分>;create database [学生成绩数据库]gouse [学生成绩数据库]go2.创建[课程表]代码<2分>;课程表<课号 char<6>,名称>CREATE TABLE 课程表〔course CHAR<6>,PRIMARY KEY,Name CHAR<6>,NOT NULL,〕;要求使用:主键<课号>、非空<名称>3.创建[学生表]代码<6分>;学生表<学号 char<6>,##,性别,民族,##号>要求使用:主键<学号>、默认<民族>、非空<民族,##>、唯一<##号>、检查<性别>4.创建[成绩表]代码<4分>;成绩表<ID,学号,课号,分数>要求使用:主键<课号>、外键<成绩表.学号,成绩表.课号>、检查<分数>,自动编号<ID>5.将下列课程信息添加到课程表的代码<8分>课号课程名称100001 大学语文100002 大学英语100003 西班牙语修改课号为100002的课程名称:实用英语删除课号为100003的课程信息6.写出创建:成绩表视图<学号,##,课号,课程名称,分数>的代码;<4分>7.写出创建:某门课程成绩内嵌表值函数以与检索的代码;<6分>检索:所有修实用英语这门学生的成绩;8.写出创建:某门课程高低均分计算某门课程成绩最高分、最低分、平均分存储过程以与执行的代码;<6分>执行:所有修实用英语这门学生的最高分、最低分、平均分;9.检索姓李的女同学的情况:##、性别、民族.<2分>10.检索有一门或一门以上课程成绩大于等于90分的所有学生的信息,包括学号、##.<4分>11.设置一SQL身份验证的账户:登录名:U领导,密码:888,数据库用户名:U读者,权限:可查询查询本数据库中所有表、视图、内嵌表值函数的数据.请写出账户、权限设置的T_SQL脚本.<6分>《SQL数据库管理与开发教程与实训》试题<C卷>参考答案一、1.C 2.A 3. B 4.A 5.C 6.A 7. 8.D 9.B 10.C二、1. N 2.N 3.Y 4.N 5.N 6.N 7. Y 8.N 9.N 10.Y三、1. 外模式、模式、内模式.2. ,3. 67, D, 124. BEAUTIFAL,我心中的太阳5. 选择、投影、连接.6. 水平, 垂直7. 聚簇索引非聚簇索引8. 视图、存储过程五、设计题1.create database [学生成绩数据库]gouse [学生成绩数据库]go2. create table 学生表<[学号] char<6> primary key,[##] nchar<4> not null,[性别] nchar<1> check<[性别] in <'男', '女'>>,[民族] nchar<8> default '汉族' not null,[##号] char<18> unique>3. create table 课程表<[课号] char<6> primary key,[名称] char<40> not null>4. create table 成绩表<ID integer IDENTITY<1, 1>,[学号] char<6> references 学生表<学号>,[课号] char<6> references 课程表<课号>,[分数] integer check<[分数] between 0 and 100>>5.insert 课程表 values<'100001', '大学语文'>insert 课程表 values<'100002', '大学英语'>insert 课程表 values<'100003', '西班牙语'>update课程表 set 名称='实用英语' where 课号='100002'delete课程表 where 课号='100003'6. create view [成绩表视图] asselect 成绩表.学号,##,成绩表.课号,名称课程名称,分数from 成绩表,学生表,课程表where 成绩表.学号=学生表.学号and 成绩表.课号=课程表.课号create view [成绩表视图] asselect 成绩表.学号,##,成绩表.课号,名称课程名称,分数from 成绩表 join 学生表 on 成绩表.学号=学生表.学号join 课程表 on 成绩表.课号=课程表.课号7. create function [某门课程成绩]<课程名 varchar<40>>returns table asreturn <select 学号,##,课程名称,分数 from 成绩表视图where 课程名称=课程名>create function [某门课程成绩]<课程名 varchar<40>>returns table asreturn <select * from 成绩表视图where 课程名称=课程名>select * from [某门课程成绩]<'实用英语'>8.create procedure [某门课程高低均分]课程名 varchar<40> asselect 课程名称, 最高分=max<分数>、最低分=min<分数>、平均分=avg<分数> from 成绩表视图where 课程名称 = 课程名execute [某门课程高低均分] '实用英语'9.select ##, 性别, 民族 from 学生表 where ## like '李%' and 性别='女'10. select 学号, ## from 学生表 where学号 in <select distinct 学号 from成绩表 where分数>=90>11.use [学生成绩数据库]exec sp_addlogin 'U领导', NULL, '学生成绩数据库', '简体中文'exec sp_password NULL, '888', 'U领导'exec sp_grantdbaccess 'U领导', 'U读者'exec sp_addrolemember 'db_datareader', 'U读者'use [学生成绩数据库]exec sp_addlogin 'U领导', '888', '学生成绩数据库'exec sp_grantdbaccess 'U领导', 'U读者'exec sp_addrolemember 'db_datareader', 'U读者'《SQL数据库管理与开发教程与实训》试题<D卷>刘占文老师一、单项选择题<每小题1分,共10分>1.数据库应用系统是由数据库、数据库管理系统〔与其开发工具〕、应用系统、〔〕和用户构成.A.DBMSB.DBC.DBSD.DBA2.数据库管理系统的英文缩写是〔〕.A.DBMSB.DBSC.DBAD.DB3.在关系运算中,选取符合条件的元组是〔〕运算.A.除法B.投影C.连接D.选择4.数据库设计中的逻辑结构设计的任务是把〔〕阶段产生的概念数据库模式变换为逻辑结构的数据库模式.A.需求分析B.物理设计C.逻辑结构设计D.概念结构设计5.一个规范化的关系至少应当满足〔〕的要求.A.一范式B.二范式C.三范式D.四范式6.在实际数据库设计中,"学号"通常作为〔〕存在.A.数据结构B.数据存储C.数据项目D.处理过程7.SQL Server 2000中删除表中记录的命令是〔〕.A.DELETEB.SELECTC.UPDATED.DROP8.运行命令SELECT ASCII〔‘Alklk’〕的结果是〔〕.A.48B.32C.90D.659.在SQL中,建立视图用的命令是 < >.A.CREATE SCHEMAB.CREATE TABLEC.CREATE VIEWD.CREATE INDEX10.在MS SQL Server中,用来显示数据库信息的系统存储过程是< >.A. sp_dbhelpB. sp_dbC. sp_helpD. sp_helpdb三、填空题<每空1分,共20分>1.数据库三个要素是__________、__________和_____________.2. 语句 select year<'1931-9-18'> 的执行结果是____________.3.__________是指保证指定列的数据具有正确的数据类型、格式和有效的数据范围.4.__________是特殊类型的存储过程,它能在任何试图改变表中由触发器保护的数据时执行.5.事务<Transaction>可以看成是由对数据库的若干操作组成的一个单元,这些操作要么______,要么________<如果在操作执行过程中不能完成其中任一操作>.6. SQL Server 2000 采用的身份验证模式有________________模式和________模式.7.用户访问SQL Server数据库时,经过了两个_______验证和________验证安全验证阶段.8.SQL Server 2000提供的数据库备份方法有_______数据库备份和________数据库备份、____________备份和________________备份.9.SQL Server代理主要由______、______和警报来组成.10.SQL Server复制把服务器分为______服务器、______服务器和订阅服务器三种. 五、设计题<1—6题每空2分,第7题10分,共40分>1.计算1+2+3+……+100的和,并使用PRINT显示计算结果.DECLARE I int,sum int,csum char<10>SELECT I=1,sum=0WHILE I<=________BEGINSELECT sum= __________SELECT I=I+1ENDSELECT csum=convert<char<10>,sum>__________ ’1+2+3+……+100=’+ csum2.使用SQL语句创建一个班级表CLASS,属性如下:CLASSNO,DEPARTNO,CLASSNAME;类型均为字符型;长度分别为8、2、20且均不允许为空.CREATE ________ CLASS<CLASSNO ______<8> NOT NULL,DEPARTNO CHAR <2> NOT NULL,CLASSNAME CHAR <____> NOT NULL〕3.声明一个名为CRSCOURSE的游标,并利用游标遍历,显示整个结果集.USE XKDECLARE COUNO VARCHAR<3>,COUNAME VARCHAR<20>_________________________FORSELECT COUNO,COUNAME FROM COURSE ORDER BY COUNO_________________________FETCH NEXT FROM CRSCOURSE INTO COUNO,COUNAMEWHILE FETCH_STATUS=0BEGINPRINT ’课程号:’+ COUNO +’课程名称:’+ CouNameFETCH NEXT FROM CRSCOURSE INTO COUNO,COUNAMEEND_________________________DEALLOCATE CRSCOURSSE4.使用SQL语句在XK数据库中创建一个名为V_STUDENT的视图,该视图仅查看"STUDENT"表中"00电子商务"班的学生信息.USE XKCREATE ____________ V_STUDENTASSELECT *FROM ____________WHERE CLASSNO=’20000001’5.使用SQL语句在XK数据库中创建一个名为P_STUDENT的存储过程,该存储过程返回"STUDEND"表中所有班级代码为200000001的记录.USE XKCREATE ____________ P_STUDENTASSELECT *____________ STUDENTWHERE CLASSNO=’20000001’6.创建触发器TEST,要求每当在STUDENT表中修改数据时,将向客户端显示一条"记录已修改"的消息.USE XK_________________ON STUDENT_________________ASPRINT ‘记录已修改’7.定义事务向[学生]数据库的[选课表]中插入学号=‘20030021’的多条记录,并检验若报名课程超过4门,则回滚事务,即报名无效,否则成功提交.选课表<学号,课号,报名号>假设要插入的记录为以下三条:‘20030021’,‘01’,1 ‘20030021’,‘02’,2 ‘20030021’,‘03’,3根据以上要求编写程序,并指出本题定义的事务是否成功提交.《SQL数据库管理与开发教程与实训》试题<D卷>参考答案一、单项选择题1.D 2.A 3.D 4.D 5.C 6.C 7.D 8.D 9.C 10.D二、判断题1.N 2.N 3.N 4.Y 5.Y 6.N 7.Y 8.N 9.Y 10.N三、填空题1.数据结构、数据操作、完整性约束2.19313.域完整性4.触发器5.都完成、都取消6.Windows身份验证、混合7.身份、权限8.完整、差异、事务日志、文件和文件组9.操作员、作业10.发布、分发五、设计题1.100 sum+i print2.table char 203.Declare crscourse cursoropen crscourseclose crscourse4.viewstudent5.procedurefrom6.Alter trigger testfor update7.Use 学生Begin transactionInsert 选课表<学号,课程号,报名号> values<‘20030021’,‘01’,1>Insert 选课表<学号,课程号,报名号> values<‘20030021’,‘02’,2>Insert 选课表<学号,课程号,报名号> values<‘20030021’,‘03’,3>Declare num intSet num=<select count<*> from 选课表 where 学号=‘20030021’>If num>4beginRollback transactionPrint ‘超过报名门数!’endElseBeginmit transactionPrint ‘报名成功!’endgo本题定义的事务成功提交.《SQL数据库管理与开发教程与实训》试题<E卷>刘占文老师三、填空题<每空1分,共20分>1.SQL语言主要由组成.2.SQLServer2000采用的身份验证模式有Windows身份验证模式和_________模式.3.语句 SELECT<7+3>*4-17/<4-<8-6>>+99%4的执行结果是_____________.4. ________是由一个或多个数据表〔基本表〕或视图导出的虚拟表.5._____________用于保证数据库中数据表的每一个特定实体的记录都是惟一的.6.索引的类型有______________和非聚集索引.7._________是已经存储在SQL Server服务器中的一组预编译过的Transact-SQL语句.8.触发器定义在一个表中,当在表中执行________、________或delete操作时被触发自动执行.9.事务的ACID属性是指________性、________性、_______性和_______性.10.数据库管理系统的安全性通常包括两个方面,一是指数据________的安全性,二是指数据_______的安全性.11.SQL Server代理主要由________、操作员和________来组成.12.SQL Server复制有快照复制、________复制和________复制3种类型.五、设计题<每小题5分,共40分>现有关系数据库如下:数据库名:学生成绩数据库用SQL语言实现下列功能的sql语句代码:1.创建数据库[学生成绩数据库]代码<2分>;2.创建[课程表]代码<2分>;课程表<课号 char<6>,名称>要求使用:主键<课号>、非空<名称>3.创建[学生表]代码<2分>;学生表<学号 char<6>,##,性别,民族>要求使用:主键<学号>、默认<民族>、非空<民族,##>、检查<性别>4.创建[成绩表]代码<2分>;成绩表<学号,课程号,分数>要求使用:外键<成绩表.学号,成绩表.课程号>、检查<分数>5.将下列课程信息添加到课程表中课号课程名称100001 大学语文100002 大学英语6.写出创建成绩表视图<学号,##,课程号,课程名称,成绩>的代码;7.写出创建分数存储过程用于计算某门课程成绩最高分、最低分、平均分8.检索姓李的女同学的信息:##、性别、民族.9.设置SQL身份验证的账户:登录名:U领导密码:888数据库用户名:U读者权限:可查询查询本数据库中所有表的数据.10.《SQL数据库管理与开发教程与实训》试题<E卷>参考答案一、单项选择题1.C 2.A 3.D 4.D 5.B 6.C 7.A 8.D 9.B 10.D二、判断题1.N 2.Y 3.Y 4.N 5.N 6.Y 7.Y 8.N 9.N 10.Y三、填空题1.数据定义语言<DDL>、数据操作语言<DML>2.混合3.354.视图5.实体完整性6.聚集索引7.存储过程8.insert、update9.原子、一致、独立、持久10.访问、运行11.作业、警报12.事务、合并五、设计题1.create database [学生成绩数据库]gouse [学生成绩数据库]go2. create table课程表<[课程号] char<6> primary key,[课程名称] char<40> not null[任课教师] char<4>>3. create table 学生表<[学号] char<6> primary key,[##] nchar<4> not null,[性别] nchar<1> check<[性别] in <'男', '女'>>,[民族] nchar<8> default '汉族' not null>4. create table成绩表<[学号] char<6> references 学生表<学号>,[课程号] char<6> references 课程表<课号>,[成绩] integer check<[成绩] between 0 and 100>>5.insert 课程表 values<'100001', '大学语文'>insert 课程表 values<'100002', '大学英语'>insert 课程表 values<'100003', '西班牙语'>6.create view [成绩表视图] asselect 学号,##,课程号,课程名称,成绩 from 成绩表,学生表where 成绩表.学号=学生表.学号select 学号,##,课程号,课程名称,成绩 from 成绩表 join 学生表on 成绩表.学号=学生表.学号7.create procedure [分数]课程名 nchar<16> asselect 课程名称, 最高分=max<分数>、最低分=min<分数>、平均分=avg<分数> from 成绩表视图where 课程名称 = 课程名8.select ##, 性别, 民族 from 学生表 where ## like '李%' and 性别='女' 9.use [学生成绩数据库]exec sp_addlogin 'U领导', '888', '学生成绩数据库', '简体中文'exec sp_grantdbaccess 'U领导', 'U读者'exec sp_addrolemember 'db_datareader', 'U读者'10.Begin transactionInsert 成绩表<学号,课程号,分数> values<‘20030021’,’001’,80>Insert 成绩表<学号,课程号,分数> values<‘20030021’,’002’,90>Insert 成绩表<学号,课程号,分数> values<‘20030021’,’003’,80>Insert 成绩表<学号,课程号,分数> values<‘20030021’,’004’,70>Declare num intSet num=<select count<*> from 成绩表 where 学号=‘20030021’>If num>4Rollback transactionElsemit transactiongo《SQL数据库管理与开发教程与实训》试题<F卷>郭鲜凤老师一、单项选择题<每小题1分,共10分>1.SQL Server系统中的所有服务器级系统信息存储于哪个数据库〔〕.A. masterB. modelC. tempdbD. msdb2.下列标识符可以作为局部变量使用〔〕.A. MyvarB. My varC. @MyvarD. @My var3.以下关于主键的描述正确的是〔〕.A.标识表中唯一的实体B.创建唯一的索引,允许空值C.只允许以表中第一字段建立D.表中允许有多个主键4.为数据表创建索引的目的是〔〕.A.提高查询的检索性能B.创建唯一索引C.创建主键D.归类5.下列哪个不是sql 数据库文件的后缀.A..mdfB..ldfC..dbfD..ndf6.在SQL SERVER服务器上,存储过程是一组预先定义并〔〕的Transact-SQL语句.A.保存B.编译C.解释D.编写7.数据定义语言的缩写词为 < >.8.以下关于外键和相应的主键之间的关系,正确的是< >.A.外键并不一定要与相应的主键同名B.外键一定要与相应的主键同名C.外键一定要与相应的主键同名而且唯一D.外键一定要与相应的主键同名,但并不一定唯一9.在数据库设计中使用E-R图工具的阶段是< >.A.需求分析阶段B.数据库物理设计阶段C.数据库实施D.概念结构设计阶段10.在T-SQL语言中,修改表结构时,应使用的命令是〔〕A.UPDATEB. INSERTC. ALTERD. MODIFY三、填空题<每空1分,共30分>1. 目前最常用的数据库有层次数据库、_________数据库和_________数据库,其中_________数据库是目前应用最广泛的一种数据库.2. 关系数据模型的逻辑结构是__________,关系中的列称为________,行称为________.3. 关系数据库模型的数据操作主要包括插入、________、________和________数据.4. SQL、DCL和DML缩写词的意义是___________语言、___________语言和___________语言.5.实体之间的联系类型有三种,分别为________、________和________.6.数据库系统的三级模式结构和两级数据映像确保了数据的________独立性和________独立性.7.SQL Server 2000提供的数据库备份方法有_______数据库备份和________数据库备份、____________备份和________________备份.8.SQL Server代理主要由______、______和_____来组成.9.SQL Server复制把服务器分为______服务器、______服务器和_____服务器三种.10.在SQL中,create view、alter view和drop view命令分别为________、________和________视图的命令.五.设计题<每小题5分,共40分>有一个[学生课程]数据库,数据库中包括三个表:学生表:Student由学号<Sno>、##<Sname>、性别<Ssex>、年龄<Sage>、所在系<Sdept>五个属性组成,记为:Student<Sno,Sname,Ssex,Sage,Sdept>,Sno 为关键字.课程表:Course由课程号<o>、课程名<ame>、先修课号<Cpno>、学分<Ccredit>四个属性组成,记为: Course<o,ame,Cpno,Ccredit> o为关键字.成绩表:SG由学号<Sno>、课程号<o>、成绩<Grade>三个属性组成,记为:SG<Sno,o,Grade> <SNO, O> 为关键字.用SQL语言实现下列功能:1.建立学生表[Student],其中学号属性不能为空,并且其值是唯一的.2.查考试成绩有不与格的学生的学号.3.将学号为05001学生的年龄改为22岁.。
sql测试题和答案.docx
sql测试题和答案# SQL测试题1. 基础查询题- 题目:编写一个SQL查询,从`employees`表中选择所有员工的姓名和员工ID。
- 答案:`SELECT name, employee_id FROM employees;`2. 条件查询题- 题目:从`orders`表中选择所有订单金额超过1000的订单。
- 答案:`SELECT * FROM orders WHERE order_amount > 1000;`3. 排序题- 题目:从`products`表中选择所有产品的名称和价格,并按价格降序排列。
- 答案:`SELECT name, price FROM products ORDER BY price DESC;`4. 聚合函数题- 题目:计算`sales`表中所有销售额的总和。
- 答案:`SELECT SUM(sales_amount) AS total_sales FROM sales;`5. 分组查询题- 题目:从`sales`表中按产品ID分组,并计算每个产品的总销售额。
- 答案:`SELECT product_id, SUM(sales_amount) AStotal_sales_per_product FROM sales GROUP BY product_id;`6. 连接查询题- 题目:查询`customers`表和`orders`表,找出所有客户的姓名和他们下过的订单数量。
- 答案:`SELECT , COUNT(o.order_id) AS order_count FROM customers c JOIN orders o ON c.customer_id =o.customer_id GROUP BY ;`7. 子查询题- 题目:找出`employees`表中工资高于平均工资的员工的姓名和工资。
- 答案:`SELECT name, salary FROM employees WHERE salary > (SELECT AVG(salary) FROM employees);`8. 多表连接查询题- 题目:查询`employees`表和`departments`表,找出所有员工的姓名、部门名称和部门ID。
SQL考试题库及答案
SQL考试题库及答案1. 选择题:以下哪个SQL命令用于创建一个新的数据库?A. CREATE TABLEB. CREATE DATABASEC. DROP DATABASED. ALTER DATABASE答案:B2. 填空题:在SQL中,使用____关键字可以删除一个已经存在的表。
答案:DROP TABLE3. 判断题:以下SQL语句是否正确?"SELECT * FROM users WHERE name = 'John';"A. 正确B. 错误答案:A4. 简答题:解释SQL中的主键(PRIMARY KEY)是什么?答案:主键是一个或多个字段的组合,用于在数据库表中唯一标识每条记录。
一个表只能有一个主键,且主键的值不能为NULL。
5. 选择题:在SQL中,哪个函数用于计算表中所有记录的总数?A. COUNT(*)B. SUM(*)C. AVG(*)D. MAX(*)答案:A6. 填空题:在SQL中,使用____关键字可以更新表中的记录。
答案:UPDATE7. 判断题:以下SQL语句是否正确?"INSERT INTO customers (name, email)VALUES('Alice','*****************');"A. 正确B. 错误答案:A8. 简答题:解释SQL中的外键(FOREIGN KEY)是什么?答案:外键是一个字段(或一组字段),它在一个表中引用另一个表的主键。
外键用于建立两个表之间的关系,并确保数据的引用完整性。
9. 选择题:在SQL中,哪个命令用于删除数据库中的表?A. DELETE TABLEB. DROP TABLEC. REMOVE TABLED. CLEAR TABLE答案:B10. 填空题:在SQL中,使用____关键字可以添加一个新列到现有的表中。
答案:ALTER TABLE结束语:以上是SQL考试题库及答案,希望能够帮助考生更好地理解和掌握SQL的基本概念和操作。
sql测试题和答案
sql测试题和答案以下是一些常见的SQL测试题及其答案。
这些题目旨在考察SQL 基本知识和查询能力。
希望对你的SQL学习和提升有所帮助。
1. 给定一个名为"Students"的表格,包含学生的姓名、年龄和分数三个字段。
写一个SQL查询,按照分数从高到低排列,显示学生姓名和分数。
答案:SELECT Name, ScoreFROM StudentsORDER BY Score DESC;2. 给定一个名为"Customers"的表格,包含顾客的姓名、所在城市和消费金额三个字段。
写一个SQL查询,显示每个城市的总消费金额,结果按照金额从高到低排序。
答案:SELECT City, SUM(Expense) as TotalExpenseFROM CustomersGROUP BY CityORDER BY TotalExpense DESC;3. 给定一个名为"Orders"的表格,包含订单号、顾客姓名和订单日期三个字段。
写一个SQL查询,显示每个顾客最近一次的订单日期。
答案:SELECT CustomerName, MAX(OrderDate) as LastOrderDateFROM OrdersGROUP BY CustomerName;4. 给定一个名为"Employees"的表格,包含员工的姓名、职位和入职日期三个字段。
写一个SQL查询,显示每个职位的最早入职员工姓名。
答案:SELECT Position, MIN(StartDate) as EarliestEmployeeFROM EmployeesGROUP BY Position;5. 给定一个名为"Products"的表格,包含产品名称、价格和所属分类三个字段。
写一个SQL查询,显示每个分类中价格最高的产品。
答案:SELECT Category, MAX(Price) as HighestPriceFROM ProductsGROUP BY Category;这些题目涵盖了SQL中的基本查询、排序、分组和聚合等操作。
SQL试题精选及答案
SQL试题精选及答案1. 请写出SQL中创建新表的语句。
答案:CREATE TABLE 表名 (列1 类型, 列2 类型, ...);2. 如何在SQL中查询特定列的数据?答案:SELECT 列名 FROM 表名 WHERE 条件;3. 请解释SQL中的JOIN操作。
答案:JOIN操作用于将两个或多个表中的行组合起来,基于一个共同的列。
4. 写出SQL中更新表中数据的语句。
答案:UPDATE 表名 SET 列名1 = 值1, 列名2 = 值2 WHERE 条件;5. 如何在SQL中删除表中的数据?答案:DELETE FROM 表名 WHERE 条件;6. 请描述SQL中的GROUP BY子句的作用。
答案:GROUP BY子句用于将取回的记录分组,可以与聚合函数一起使用,如COUNT、SUM等。
7. SQL中如何使用子查询?答案:子查询是嵌套在另一个查询中的查询,可以出现在SELECT、INSERT、UPDATE或DELETE语句中。
8. 请写出SQL中创建索引的语句。
答案:CREATE INDEX 索引名 ON 表名 (列名);9. 如何在SQL中使用事务?答案:可以使用BEGIN TRANSACTION开始事务,然后执行一系列操作,最后使用COMMIT提交事务或ROLLBACK回滚事务。
10. 请解释SQL中的主键和外键。
答案:主键是表中用来唯一标识每行数据的列或列组合,而外键是一个表中的列或列组合,它在另一个表中作为主键。
11. SQL中如何进行数据排序?答案:使用ORDER BY子句,如SELECT * FROM 表名 ORDER BY 列名ASC 或 DESC。
12. 如何在SQL中使用聚合函数?答案:聚合函数如SUM、COUNT、AVG等,可以与GROUP BY子句一起使用,对数据进行汇总。
13. 请写出SQL中插入数据的语句。
答案:INSERT INTO 表名 (列1, 列2, ...) VALUES (值1, 值2, ...);14. 请解释SQL中的视图。
SQL 判断 试卷
(1) 在关系数据库中,并不是规范化程度越高的关系模式就越好。
答案:√(2) 关系中的NULL,对于数值型数据可以理解为0,对于字符型数据可以理解为空字符串。
答案:×(3) 目前的数据管理领域中,已经完全使用数据库系统,不需要使用文件系统。
答案:×(4) 在实体联系模型中,可以使用椭圆形表示实体的属性。
答案:√(1) SQL Server 2005所有版本的安装都需要至少512MB内存空间。
答案:×(2) 如果系统中存在一个应用程序,在访问SQL Server数据库时通过用户名和密码连接到服务器,这时安装SQL Server 2005时选择的身份验证模式应该是混合模式。
答案:√(3) SQL Server 2005的开发人员版的功能与企业版的功能相同,只是不能用在生产场合。
答案:√(4) SQL Server 2005的默认安装过程可以安装示例数据库AdventureWorks。
答案:×(1) 系统数据库tempdb中存储的是临时信息,当数据库连接断开以后,这些临时信息将丢失。
答案:√(2) 一个SQL Server 2005数据库中至少包含一个主数据文件、一个次数据文件和一个日志文件。
答案:×(3) 在同一时刻只能有一个文件组是默认文件组。
答案:√(4) 将主文件组配置成默认文件组是最优配置,这样数据库对象就可以自动保存在主文件组中。
答案:×(1) 微软公司建议不再使用数据类型image,取而代之的是数据类型varbinary(max)。
答案:√(2) 在SQL Server 2005中,表的外键所在列不能设计成允许有空值。
答案:×(3) 如果表中定义了varchar(max)、varbinary(max)等大类型的数据,则在创建表的时候可以将这些数据存储到指定的文件组中。
答案:√(4) 计算列中的数据不能实际存储在表中。
答案:×(1) 使用UPDATE语句更新表中的数据时,一次只能更新一个字段中的数据。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(1) 在关系数据库中,并不是规范化程度越高的关系模式就越好。
答案:√
(2) 关系中的NULL,对于数值型数据可以理解为0,对于字符型数据可以理解为空字符串。
答案:×
(3) 目前的数据管理领域中,已经完全使用数据库系统,不需要使用文件系统。
答案:×
(4) 在实体联系模型中,可以使用椭圆形表示实体的属性。
答案:√
(1) SQL Server 2005所有版本的安装都需要至少512MB内存空间。
答案:×
(2) 如果系统中存在一个应用程序,在访问SQL Server数据库时通过用户名和密码连接到服务器,这时安装SQL Server 2005时选择的身份验证模式应该是混合模式。
答案:√
(3) SQL Server 2005的开发人员版的功能与企业版的功能相同,只是不能用在生产场合。
答案:√
(4) SQL Server 2005的默认安装过程可以安装示例数据库AdventureWorks。
答案:×
(1) 系统数据库tempdb中存储的是临时信息,当数据库连接断开以后,这些临时信息将丢失。
答案:√
(2) 一个SQL Server 2005数据库中至少包含一个主数据文件、一个次数据文件和一个日志文件。
答案:×
(3) 在同一时刻只能有一个文件组是默认文件组。
答案:√
(4) 将主文件组配置成默认文件组是最优配置,这样数据库对象就可以自动保存在主文件组中。
答案:×
(1) 微软公司建议不再使用数据类型image,取而代之的是数据类型varbinary(max)。
答案:√
(2) 在SQL Server 2005中,表的外键所在列不能设计成允许有空值。
答案:×
(3) 如果表中定义了varchar(max)、varbinary(max)等大类型的数据,则在创建表的时候可以将这些数据存储到指定的文件组中。
答案:√
(4) 计算列中的数据不能实际存储在表中。
答案:×
(1) 使用UPDATE语句更新表中的数据时,一次只能更新一个字段中的数据。
答案:×
(2) 省略了WHERE子句的DELETE语句将删除表中所有的数据。
答案:√
(3) 使用DELETE语句删除表中的所有数据以后,表中的标识列将被重置为种子的值。
(4) 使用INSERT语句向父表中插入数据时不会产生违反外键约束的问题。
答案:√
(1) 如果使用DISTINCT,那么SELECT子句中只能包含一个列表达式。
答案:×
(2) 在指定排序所依据的列时,该列可以是没有出现在SELECT子句中的列。
答案:√
(3) 如果按照多个列排序查询结果,那么应该在SELECT语句中写多个ORDER BY子句。
答案:×
(4) 在Transact-SQL中,子查询只能放在WHERE子句中。
答案:×
(1) 创建主键约束时系统自动创建聚集索引。
答案:√
(2) 系统自动创建的索引可以手工删除。
答案:×
(3) 一个表可以创建若干个聚集索引。
答案:×
(4) 一个表可以创建若干个非聚集索引。
答案:√
(1) 对一个已经存在的表,不能够再增加约束了。
答案:×
(2) 一个表中最多只能有一个唯一性约束。
答案:×
(3) 唯一性约束和主键约束的区别在于,定义唯一性约束的列允许空值,但定义主键约束的列不允许空值。
答案:√
(4) 一个列只能应用一个规则,但可以应用多个检查约束。
答案:√
(1) 利用数据快照可以进行数据库的恢复。
答案:√
(2) 用户数据库需要备份而系统数据库不需要备份。
答案:×
(3) 数据库备份和差异数据库备份中包含的日志记录不影响事务日志。
答案:√
(4) 在完整恢复模式下允许使用数据库备份和事务日志备份。
答案:√
(5) 将数据库从一台计算机移到另一台计算机,可以采用分离再附加的方法。
答案:√
(1) sa登录账户映射为所有数据库中的guest用户。
答案:×
(2) 如果希望使用guest用户,则需要先启用该用户。
答案:√
(3) 创建一个数据库角色以后,可以将数据库中的操作权限授予该角色,但不能将固定数据库角色分配给该角色。
(4) 新创建的数据库角色不拥有任何权限。
答案:√
(1) 事务的部分提交状态是指事务中的部分语句已执行成功并已提交。
答案:×
(2) 在自动提交事务模式下,每个Transact-SQL语句都独立构成一个事务。
答案:√
(3) 当连接以隐性事务模式进行操作时,无须描述事务的开始,但是用户必须使用COMMIT或ROLLBACK语句显示地结束事务。
答案:√
(4) 使用嵌套事务时,提交和回滚内层事务并不会影响外层事务的状态。
答案:×
(1) 可以使用其他.NET架构下的语言,如C#编写存储过程并部署到SQL Server 2005。
答案:√
(2) 创建存储过程的命令关键词CREATE PROCEDURE不可以缩写。
答案:×
(3) 数据库BlueSkyDB中的存储过程PrcDeleteBook用于删除Books表中的记录,如果用户UserA希望通过执行该存储过程删除某本图书的记录,则数据库管理员必须将Books 表的DELETE权限授予用户UserA。
答案:×
(4) 通过语句ALTER PROCEDURE修改存储过程与删除存储过程然后再新建一个同名存储过程的效果是相同的。
答案:×
(1) 如果针对一个激活事件定义了多个触发器,可以为这些触发器指定执行先后顺序。
答案:×
(2) inserted和deleted表中的数据只能读,不能写入。
答案:√
(3) 可以以CLR的方式编写SQL Server 2005的触发器。
答案:√
(4) 可以定义AFTER和INSTEAD OF类型的DDL触发器。
答案:×。