选择
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';