选择

1. 数据库系统的数据管理方式中,下列说法中不正确的是 [C. 数据库避免了一切数据的重复]

A.数据库减少了数据冗余

B. 数据库中的数据可以共享

C. 数据库避免了一切数据的重复

D. 数据库具有较高的数据独立性

2. 数据库系统的核心是 [A. 数据库管理系统]

A.数据库管理系统

B.数据库

C. 数据模型

D.数据

3. 用二维表来表示实体及实体之间联系的数据模型是 [D. 关系模型]

A.联系模型

B.层次模型

C.网状模型

D.关系模型

4. 在教师表中, 如果要找出姓“李”教师的记录,所采用的关系运算是 [B. 选择]

A.投影

B.选择

C.连接

D.层次

5. 有关字段类型以下叙述错误的是 [D. 可对任意类型的字段设置默认值属性]

A.字段大小可用于设置文本类型字段的最大容量

B. 有效性规则属性是用于限制此字段输入值的表达式

C. 不同的字段类型,其字段属性有所不同

D. 可对任意类型的字段设置默认值属性

数据查询

基于学生表 (student) 和成绩表 (score) 进行操作。

【1】查询学生表中姓王或者姓刘的学生信息。

答案:

SELECT * FROM student

WHERE Stuname LIKE '王%' OR Stuname LIKE '刘%';

【2】使用字符串连接运算符,从学生表中查询学生信息,结果列名为”描述信息”,组成为:'学号:'+ StuNo + '学生姓名:'+ StuName。

答案:

SELECT '学号:' + Stuno + '学生姓名:' + Stuname AS 描述信息

FROM student;

【3】使用日期相关函数,从学生表中查询信息,结果包含“学生姓名”和“注册日期”2列,注册日期为当前日期,格式为YYYY-MM-DD。

答案:

SELECT Stuname AS 学生姓名, CONVERT(varchar(10), GETDATE(), 120) AS 注册日期

FROM student;

【4】从成绩表中查出各种类型的考试成绩的考试人数和平均分。

答案:

SELECT category, COUNT(*) AS 考试人数, AVG(Score) AS 平均分

FROM score

GROUP BY category;

【5】从成绩表中查出所有正考的得分和名次。

答案:

SELECT Score, RANK() OVER (ORDER BY Score DESC) AS 名次

FROM score

WHERE category = '正考';

【6】从成绩表中找出所有考试类型,要求出去重复记录。

答案:

SELECT DISTINCT category

FROM score;

【7】查询学生表中前10条信息。

答案:

SELECT TOP 10 * FROM student;

【8】查询学号为“0463501101”的学生姓名。

答案:

SELECT Stuname

FROM student

WHERE Stuno = '0463501101';

【9】从成绩表中查询成绩超过90分的学号。

答案:

SELECT Stuno

FROM score

WHERE Score > 90;

【10】从成绩表中查询成绩在80分和90分之间的学号,使用between关键字。

答案:

SELECT Stuno

FROM score

WHERE Score BETWEEN 80 AND 90;

【11】查询成绩表中选修课程编号为“001”和“002”的学生成绩。

答案:

SELECT * FROM score

WHERE Couno IN ('001', '002');

【12】查询成绩表001号课程的最高分。

答案:

SELECT MAX(Score) AS 最高分

FROM score

WHERE Couno = '001';

【13】查询成绩表获得平均成绩超过80分的课程信息。

答案:

SELECT Couno, AVG(Score) AS 平均分

FROM score

GROUP BY Couno

HAVING AVG(Score) > 80;

【14】查询成绩表获得每门课程的平均成绩,并按照降序排列。

答案:

SELECT Couno, AVG(Score) AS 平均分

FROM score

GROUP BY Couno

ORDER BY 平均分 DESC;

【15】查询学号为“0463501101”的同学的姓名、学号、成绩及考试类型。

答案:

SELECT t1.Stuname, t1.Stuno, t2.Score, t2.category

FROM student t1

JOIN score t2 ON t1.Stuno = t2.Stuno

WHERE t1.Stuno = '0463501101';

数据操作

本题基于学生表 (student) 进行操作。

【1】向表中插入一行,内容为:学号 V002,姓名 张三,年龄 19,性别 男。

答案:

INSERT INTO student (stuno, stuname, age, sex)

VALUES ('V002', '张三', 19, '男');

【2】删除表中所有女同学的信息。

答案:

DELETE FROM student

WHERE sex = '女';

【3】将学号为“W001”的学生性别修改为女。

答案:

UPDATE student

SET sex = '女'

WHERE stuno = 'W001';