精华内容
下载资源
问答
  • 【SQL server】期末模拟

    2020-06-23 23:39:02
    在存在下列关键字的SQL语句中,可能出现Where子句的是( )。 A. Update B. Delete C. Insert D. Alter 在SELECT语句的WHERE子句的条件表达式中,可以匹配0个到多个字符的通配符是( ) A. *   B.%   C.-  ...

     

    考试时间2 hours

    分制15 + 85 = 100
     

    一、单选题(每题1.5分,共 15 分)

    1. 在存在下列关键字的SQL语句中,不可能出现Where子句的是( )。
      A. Update
      B. Delete
      C. Insert
      D. Alter

    2. 在SELECT语句的WHERE子句的条件表达式中,可以匹配0个到多个字符的通配符是( )
      A. *   B.%   C.-   D.?

    3. 下面不属于数据定义功能的SQL语句是:( )
      A. CREATE TABLE
      B. CREATE CURSOR
      C. UPDATE
      D. ALTER TABLE

    4. 列值为空值(NULL),则说明这一列( )。
      A. 数值为0
      B. 数值为空格
      C. 数值是未知的
      D. 不存在

    5. SQL的聚集函数COUNT、SUM、AVG、MAX、MIN不允许出现在查询语句的( )子句之中。
      A. SELECT
      B. HAVING
      C. GROUP BY… HAVING
      D. WHERE

    6. 如果要在一张管理职工工资的表中限制工资的输入范围,应使用( )约束。
      A. PDRIMARY KEY
      B. FOREIGN KEY
      C. unique
      D. check

    7. ( )是位于用户与操作系统之间的一层数据管理软件,它属于系统软件,它为用户或应用程序提供访问数据库的方法。数据库在建立、使用和维护时由其统一管理、统一控制。
      A.DBMS
      B.DB
      C.DBS
      D.DBA

    8. 在查询语句的Where子句中,如果出现了“age Between 30 and 40”,这个表达式等同于( )。
      A. age>=30 and age<=40
      B. age>=30 or age<=40
      C. age>30 and age<40
      D. age>30 or age<40

    9. SQL的视图是从( )中导出的。
      A. 基本表   B. 视图   C. 基本表或视图   D. 数据库

    10. 下列哪个不是sql 数据库文件的后缀。( )
      A. .mdf   B. .ldf    C. .tif    D. .ndf

     
    答案(对应选择1~10):DBCCD DAACC

    分析(不对应题号):

    1. DML语句包括增删改查:insert, delete, update, select
    2. DDL语句包括create, alter, drop
    3. SQL中模糊查询中匹配0到多个字符的通配符是%,而不是*
    4. SQL中的null的含义为数值为未知的,或者说尚未填入的;是有具体含义的,并不是"不存在"
    5. DBS数据库系统DBMS数据库管理系统(Management),是数据库系统的核心(SQL Server,MySQL就是DBMS)
    6. SQL视图是从基本表视图中导出的

     

     

    二、设计题(共 85 分)

    
    
    --1.已知字符串ABCDEFG,写出T-SQL语句,使得输出的结果为ab
    select lower(left('ABCDEF', 2))
    
    
    
    --2.使用T-SQL语句建立数据库university,它包含2个文件组:主文件组、u1文件组。
    --	主文件组包含30MB的umgt1和30MB的umgt2两个文件,两个文件的最大尺寸为100MB,增长长度为10%;
    --	u1文件组包含20MB的umgt3一个文件,这个文件的最大尺寸不限,增长长度为3MB。
    --	该数据库同时还包含一个日志文件umgtlog,文件大小为20MB,增长长度为10%。(存储路径都为d:\ university)(10分)
    
    create database university
    
    on primary
    (
    	name = umgt1,
    	filename = 'd:\university\umgt1.mdf',
    	size = 30MB,
    	maxsize = 100MB,
    	filegrowth = 10%
    ),
    (
    	name = umgt2,
    	filename = 'd:\university\umgt2.mdf',
    	size = 30MB,
    	maxsize = 100MB,
    	filegrowth = 10%
    ),
    filegroup u1
    (
    	name = umgt3,
    	filename = 'd:\university\umgt3.ndf',
    	size = 20MB,
    	maxsize = unlimited,
    	filegrowth = 3MB
    )
    
    log on
    (
    	name = umgtlog,
    	filename = 'd:\university\umgtlog.ldf',
    	size = 20MB,
    	filegrowth = 10%
    )
    -- 这题有个小bug,一个数据库只能有一个主数据文件(.mdf),但这里创建了两个
    
    
    --3.在university数据库中包含有学生信息表(student)、课程信息表(course)和成绩表(score),它们的定义分别为:
    --	student (学号 char(6)  not null,姓名 char(8),性别 char(2),出生时间 datetime,专业 char(12),总学分int 0到100学分之间,备注varchar(500)) 
    --	course (课程号 char(3)  not null,课程名 char(16)not null,开课学期tinyint default 1,学时tinyint default 0,学分tinyint default 0)
    --	score (学号 char(6)  not null,课程号 char(3)  not null,成绩int default 0, 主键为学号与课程号的组合)
    
    -- (1)用T-SQL语句分别创建表student 表,course表,score表,并插入相关数据,相关数据见附录。(6分)
    create table student
    (
    	学号			char(6) not null,
    	姓名			char(8) not null,
    	性别			char(2),
    	出生日期		datetime,
    	专业			char(12),
    	总学分		int check(总学分 >= 0 and 总学分 <= 100),
    	备注			varchar(500)
    )
    create table course
    (
    	课程号		char(3) not null,
    	课程名		char(16) not null,
    	开学日期		tinyint default(1),
    	学时			tinyint default(0),
    	学分			tinyint default(0)
    )
    create table score
    (
    	学号			char(6) not null,
    	课程号		char(3) not null,
    	成绩			int default(0),
    	constraint pk_sc primary key(学号, 课程号)
    )
    
    
    
    
    --(2)查询student 表中通信工程系各同学的学号、姓名和总学分,对其总学分按以下规则进行替换,列标题更改为“等级”。
    --	  若总学分为空值,则替换为“尚未选课”;
    --	  若总学分小于42,则替换为“不及格”;
    --	  若总学分在42与52之间,则替换为“合格”;
    --	  若总学分大于52,则替换为“优秀”。(6分)
    
    select 学号, 姓名, '等级' = case
    		when 总学分 is null then '尚未选课'
    		when 总学分 < 42 then '不及格'
    		when 总学分 between 42 and 52 then '合格'
    		when 总学分 > 52 then '优秀' end 
    from student
    where 专业 = '通信工程'
    
    
    
    --(3)在student表中查询出生于1990年1月1日以前的学生的所有信息,并按学号降序排列。(6分)
    select *
    from student
    where 出生日期 < '1990-01-01'
    order by 学号 desc
    
    
    --(4)查找选修了102号课程的学生姓名及该课程成绩。(6分)
    select 姓名, 成绩
    from student s, score sc
    where s.学号 = sc.学号 and sc.课程号 = '102'
    
    
    --(5)查找score表中所列选修课程信息中平均成绩在76分以上的课程名和平均成绩。(6分)
    select c.课程名, AVG(成绩) as 平均成绩
    from course c, score sc
    where c.课程号 = sc.课程号
    group by c.课程名 having AVG(成绩) > 76
    
    
    --(6)创建视图ZH_VIEW,包括计算机专业张姓同学的相关信息,包括学号(在视图中列名为num)、姓名、其选修的课程名及成绩。(8分)
    create view ZH_VIEW
    as
    select s.学号, s.姓名, c.课程名, sc.成绩
    from student s, course c, score sc
    where s.学号 = sc.学号 and c.课程号 = sc.课程号
    and 专业 = '计算机' and s.姓名 like '张%'
    
    
    --(7)创建用户定义函数,实现计算全体学生某门功课平均成绩的功能,并调用该函数计算课程号为102课程的平均成绩并输出。(函数名为AVG_FUN)(6分)
    create function AVG_FUN(@courseId char(3)) returns int
    as
    begin
    	declare @avg int
    	set @avg = (select AVG(成绩) from score where 课程号 = @courseId group by 课程号)
    	return @avg
    end
    
    select dbo.AVG_FUN('102')
    
    
    
    
    --(8)创建一个存储过程PRO,计算某门课程(用课程号表示)的成绩最高分、最低分与平均分,
    --	  并执行存储过程,显示课程号为101的课程的最高分、最低分与平均分。(8分)
    create procedure PRO
    	@courseId char(3)
    as
    begin
    	select 课程号, 最高分 = MAX(成绩), 最低分 = MIN(成绩), 平均分 = AVG(成绩)
    	from score where 课程号 = @courseId
    	group by 课程号
    end
    
    exec PRO '101'
    
    
    --(9)为student表创建一个名称为student_delete的触发器,当用户成功删除该表中的一条或多条记录时,触发器自动删除score表中与之有关的记录。
    --   (注:在创建触发器之前要判断是否有同名的触发器存在,若存在则删除之。)(8分)
    
    if exists(select name from sysobjects where name = 'student_delete' and type = 'tr')
    drop trigger student_delete
    
    create trigger student_delete on student
    after delete
    as
    begin
    	delete from score
    	where score.学号 in (select 学号 from deleted)
    end
    
    
    
    
    --4. 在数据库university上给用户Ying授予创建表的权限,并使她有对course表的所有操作权限。(5分)
    grant create table to Ying
    grant all on course to Ying
    
    
    --5.采用文件备份的方式将university数据库备份一份。(备份目录为d:\u_BP)(5分)
    exec sp_addumpdevice 'DISK', 'uBP', 'd:\u_BP\university.bak'	
    backup database university to uBP
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    -- 附录(直接复制):
    
    -- student表:
    insert into student values('081101','王林','男','1990-2-10','计算机',50,null)
    insert into student values('081102','程明','男','1991-2-1','计算机',50,null)
    insert into student values('081103','王燕','女','1989-10-6','计算机',50,null)
    insert into student values('081104','韦严平','男','1990-8-26','计算机',50,null)  
    insert into student values('081106','李方方','男','1990-11-20','计算机',50,null)
    insert into student values('081107','李明','男','1990-5-1','计算机',54,'提前修完《数据结构》,并获学分')
    insert into student values('081108','林一帆','男','1989-8-5','计算机',52,'已提前修完一门课')
    insert into student values('081109','张强民','男','1989-8-11','计算机',50,null)
    insert into student values('081110','张蔚','女','1991-7-22','计算机',50,'三好学生')
    insert into student values('081111','赵琳','女','1990-3-18','计算机',50,null)
    insert into student values('081113','严红','女','1989-8-11','计算机',48,'有一门课不及格,待补考')
    insert into student values('081201','王敏','男','1989-6-10','通信工程',42,null)  
    insert into student values('081202','王林','男','1989-1-29','通信工程',40,'有一门课不及格,待补考')
    insert into student values('081203','王玉民','男','1990-3-26','通信工程',42,null)
    insert into student values('081204','马琳琳','女','1989-2-10','通信工程',43,null)
    insert into student values('081206','李计','男','1989-9-20','通信工程',44,null)
    insert into student values('081210','李红庆','男','1989-5-1','通信工程',50,'已提前修完一门课,并获得学分')
    insert into student values('081216','孙祥欣','男','1989-3-19','通信工程',48,null)
    insert into student values('081218','孙研','男','1990-10-9','通信工程',47,null)
    insert into student values('081220','吴薇华','女','1990-3-18','通信工程',47,null)  
    insert into student values('081221','刘燕敏','女','1989-11-12','通信工程',42,null)
    insert into student values('081241','罗琳琳','女','1990-1-30','通信工程',54,'转专业学习')
    
    --course表:
    insert into course values('101','计算机基础',1,80,5)
    insert into course values('102','程序设计与语言',2,68,4)  
    insert into course values('206','离散数学',4,68,4)
    insert into course values('208','数据结构',5,68,4)
    insert into course values('210','计算机原理',5,85,5)  
    insert into course values('209','操作系统',6,68,4)  
    insert into course values('212','数据库原理',7,68,4)
    insert into course values('301','计算机网络',7,51,3)  
    insert into course values('302','软件工程',7,51,3)
    
    --score表:
    insert into score values('081101','101',80)
    insert into score values('081101','102',78)
    insert into score values('081101','206',76)
    insert into score values('081103','101',62)
    insert into score values('081103','102',70)
    insert into score values('081103','206',81)
    insert into score values('081104','101',90)
    insert into score values('081104','102',84)
    insert into score values('081104','206',65)
    
    展开全文
  • 8、 视图设计一般有3种设计次序,下列不属于视图设计的是()。 A、 自顶向下 B、由外向内 C、由内向外 D、自底向上 我的答案:C 9、下列有关数据库的描述,正确的是()。 A、数据库是一个DBF文件 B、数据库...
  • c#学习笔记.txt

    热门讨论 2008-12-15 14:01:21
    与类不同的是,结构是值类型并且需要堆分配。结构类型的变量直接包含结构的数据,而类类型的变量包含对数据的引用(该变量称为对象)。 struct 类型适合表示如点、矩形和颜色这样的轻量对象。尽管可能将一个点表示...
  • oracle数据库经典题目

    2011-02-17 15:05:20
    25. 下列哪个锁模式不属于Oracle?( D ) A. 共享锁 B.排他锁 C. 行级共享锁 D. 死锁 26. 想在另一个模式中创建表,用户最少应该具有什么系统权限?( B ) A.CREATE TABLE B. CREATE ANY TABLE C. RESOURCE D. ...
  • 13.用static修饰方法称为静态方法,它不属于一个具体对象,而是整个类类方法。 14.java语言中接口可以继承,一个接口通过关键字extends可以继承另一个接口。 15.声明为final方法不能在子类中重载。 ...
  • 2-4 使用关键字const而不是#define语句的好处有哪些? 解: const定义常量是有类型,所以在使用它们时编译器可以查错;而且,这些变量在调试时仍然是可见。 2-5 请写出C++语句声明一个常量PI,值为3.1416;再...
  • C++复习资料之系列

    2008-12-30 21:35:45
    下列选项中,全部都是C++关键字的选项为( c )。 (a) while IF static (b) break char go (c) sizeof case extern (d) switch float integer 7. 按C++标识符的语法规定,合法的标识符是( a ,c )。 (a) ...
  • JAVA面试题最全集

    2010-03-13 13:09:10
    修饰符(关键字)如果一个类被声明为final,意味着它能再派生出新子类,能作为父类被继承。因此一个类能既被声明为 abstract,又被声明为final。将变量或方法声明为final,可以保证它们在使用中被...
  • MySQL命令大全

    2018-01-15 11:19:17
    PROCESS: 显示或杀死属于其它用户服务线程。 RELOAD: 重载访问控制表,刷新日志等。 SHUTDOWN: 关闭MySQL服务。 数据库/数据表/数据列权限: Alter: 修改已存在数据表(例如增加/删除列)和索引。 Create: ...
  • 读者基本需要具备任何编程知识,即可通过本书从头开始编写自己C程序。 作译者 作者  Ivor Horton是世界著名计算机图书作家,主要从事与编程相关咨询及撰写工作,曾帮助无数程序员步入编程殿堂。他曾在...
  • 读者基本需要具备任何编程知识,即可通过本书从头开始编写自己C程序。 作译者 作者  Ivor Horton是世界著名计算机图书作家,主要从事与编程相关咨询及撰写工作,曾帮助无数程序员步入编程殿堂。他曾在...
  • Visual C++ 2005 入门经典 详细书签版

    热门讨论 2013-02-02 16:39:43
    2.2.2 C++中的关键字 43 2.2.3 声明变量 44 2.2.4 变量初值 44 2.3 基本数据类型 45 2.3.1 整型变量 45 2.3.2 字符数据类型 46 2.3.3 整型修饰符 47 2.3.4 布尔类型 48 2.3.5 浮点类型 48 ...
  • 2.2.2 C++中的关键字 43 2.2.3 声明变量 44 2.2.4 变量初值 44 2.3 基本数据类型 45 2.3.1 整型变量 45 2.3.2 字符数据类型 46 2.3.3 整型修饰符 47 2.3.4 布尔类型 48 2.3.5 浮点类型 48 ...
  • MYSQL常用命令大全

    2011-05-30 13:31:24
    我现在用的是mysql-3.23.27-beta-win。  二、显示命令  1、显示数据库列表。  show databases;  刚开始时才两个数据库:mysql和test。mysql库很重要它里面有MYSQL的系统信息,我们改密码和新增用户,实际上...
  • 《数据结构 1800题》

    热门讨论 2012-12-27 16:52:03
    17.以下属于逻辑结构的是(C )。【西安电子科技大学应用 2001一、1】 A.顺序表 B. 哈希表 C.有序表 D. 单链表 二、判断题 1. 数据元素是数据的最小单位。( ) 【北京邮电大学 1998 一、1(2分)】【青岛大学 ...
  • Visual C++ 2008入门经典--详细书签版

    热门讨论 2013-02-02 16:07:15
    2.6.2 赋值语句类型强制转换 64 2.6.3 显式类型强制转换 64 2.6.4 老式类型强制转换 65 2.6.5 按位运算符 65 2.7 了解存储时间和作用域 71 2.7.1 自动变量 72 2.7.2 决定变量声明位置 74 2.7.3 全局...
  • 2.6.2 赋值语句类型强制转换 64 2.6.3 显式类型强制转换 64 2.6.4 老式类型强制转换 65 2.6.5 按位运算符 65 2.7 了解存储时间和作用域 71 2.7.1 自动变量 72 2.7.2 决定变量声明位置 74 2.7.3 全局...
  • 2.6.1 赋值语句类型转换 65 2.6.2 显式类型转换 65 2.6.3 老式类型强制转换 66 2.7 AUTO关键字 66 2.8 查看类型 67 2.9 按位运算符 67 2.9.1 按位AND运算符 68 2.9.2 按位OR运算符 69 2.9.3 按位EOR...
  • 2.6.1 赋值语句类型转换 65 2.6.2 显式类型转换 65 2.6.3 老式类型强制转换 66 2.7 AUTO关键字 66 2.8 查看类型 67 2.9 按位运算符 67 2.9.1 按位AND运算符 68 2.9.2 按位OR运算符 69 2.9.3 按位EOR...
  • 入门学习Linux常用必会60个命令实例详解doc/txt

    千次下载 热门讨论 2011-06-09 00:08:45
    虚拟控制台最有用的是,当一个程序出错造成系统死锁时,可以切换到其它虚拟控制台工作,关闭这个程序。 shutdown 1.作用 shutdown命令的作用是关闭计算机,它的使用权限是超级用户。 2.格式 shutdown [-h][-i...
  • 正则表达式

    2014-12-03 14:51:39
    捷方式了,它还实施了一条规约,那就是一个字符串各个分离的部分包含的是完全相同的字符.例如:下面的正则表达式匹配的就是位于单引号或双引号之内的所有字 符.但是,它要求开始和结束的引号匹配(例如两个都是双引号...
  • 数据结构(C++)有关练习题

    热门讨论 2008-01-02 11:27:18
    2、要求的图如下,也可以自己构造图,但是需要注意的是,图能是退化的单链表: 实验报告要求: 1、 按要求记录下图的类的完整实验代码; 2、 纪录你所使用的图; 3、 按要求记录下要求的输出...

空空如也

空空如也

1 2
收藏数 22
精华内容 8
关键字:

下列不属于条件语句关键字的是