目录标题
- 实验三 DMDBMS表查询操作
-
- 一、实验目的:
- 二、实验要求:
- 三、实验重点和难点:
- 四、实验内容:
- 五、实验步骤与结果:
-
- 1. 表创建
- 2. 数据填充
- 3. 数据查询
-
- 3.1查出选修了2003这门课(sco),不及格的同学的名字(stuinfo)
- 3.2查出选修了2003这门课不及格的(sco),但是2004这门课及格了的学生的姓名(stuinfo)
- 3.3查询教师所有的专业及不重复的depart列
- 3.4查询score表中成绩在60-80之间的所有记录
- 3.5查询score表中成绩为85,67或87的记录
- 3.6查询student表中95031班,或性别为女的同学的记录
- 3.7以class降序查询student表的所有记录
- 3.8查询95031班的学生人数
- 3.9查询score表中最高分的学生学号和课程号
- 3.10查询每门课的平均分
- 3.11查询score表中至少有两名学生选修的并以3开头的课
- 3.12查询所有学生的sname,cno和degree列
- 3.13查询所有学生的sname,cname和degree列
- 3.14查询95031班学生每门课的平均分
- 3.15查询选修‘3-105’课程的成绩高于105号学生的'3-105’课程成绩的所有同学的记录
- 3.16查询成绩高于学号为‘109’,课程号为'3-105’的成绩的所有记录
- 3.17查询吴教师任课的学生成绩
- 3.19查询选修课程为3-105,且成绩高于选修编号为3-106课程的同学的cno,sno和degree
- 3.20查询student表中不姓‘成’的同学的记录
- 3.21查询男教师及其所上的课程
实验三 DMDBMS表查询操作
一、实验目的:
1.掌握查询中操作符的应用;
2.掌握对复杂查询的查询要求拆解分析;
3.掌握SQL语言对数据库信息及用户信息进行查询;
4.理解和掌握SQL语言: 能够熟练地使用distinct、AS some_name(别名)、join、group by、order by、having、limit、like相关命令对表数据进行复杂查询。
5.完成对范例数据的复杂查询,包括对表数据的查询、去重、分组、数据限制、连接查询等。
二、实验要求:
1.掌握对复杂查询的查询要求拆解分析
2.掌握查询中操作符的应用
3.熟悉DQL语言中各参数的使用方法及应用场景
4.理解和掌握SQL语言: 能够熟练地使用distinct、AS some_name(别名)、join、group by、order by、having、limit、like相关命令对表数据进行复杂查询。
5.熟悉例题查询思路。
三、实验重点和难点:
实验重点:别名的使用、条件查询、连接查询、子查询、数据分组、数据排序
实验难点:连接查询、子查询、分组查询、函数的使用
四、实验内容:
- 数据库信息、用户信息查询
- 表数据查询
2.1.去重查询
2.2. 查询列的选择
2.3.别名的使用
2.4. 条件查询
2.5. 连接查询
2.6. 子查询
2.7. 数据分组
2.8.数据排序
2.9.数据限制
五、实验步骤与结果:
说明:每一部分实验内容,请描述实验过程,并搭配实验结果截图
1. 表创建
//截图SQL指令及输入结果
数据准备:
创建Stuinfo、Sco、Student、Teacher、Course、Score表,并根据实际情况合理的定义主键、联合主键、外键以及相关约束。
表结构如下:
1、Stuinfo
2、Sco
3、Student
4、Teacher
5、Course
6、Score
create table Stuinfo(
SSNO INT NOT NULL,
SNAME VARCHAR(20) DEFAULT NULL,
SAGE INT DEFAULT NULL,
PRIMARY KEY(SSNO)
);
create table Sco(
SNO INT ,
CNO INT DEFAULT NULL,
DEGREE INT DEFAULT NULL,
FOREIGN KEY(SNO) REFERENCES Stuinfo(SSNO)
);
create TABLE Student(
SNO VARCHAR(20) NOT NULL,
SNAME VARCHAR(20) NOT NULL,
SSEX VARCHAR(20) NOT NULL,
SBIRTH DATETIME(6),
CLASS VARCHAR(20),
PRIMARY KEY(SNO)
);
create TABLE Teacher(
TNO VARCHAR(20) NOT NULL,
TNAME VARCHAR(20) NOT NULL,
TSEX VARCHAR(20) NOT NULL,
TBIR DATETIME(6),
PROF VARCHAR(20),
DEPART VARCHAR(20) NOT NULL,
PRIMARY KEY(TNO)
);
create table Course(
CNO VARCHAR(20) NOT NULL,
CNAME VARCHAR(20) NOT NULL,
TNO VARCHAR(20) NOT NULL,
PRIMARY KEY(CNO),
FOREIGN KEY(TNO) REFERENCES Teacher(TNO)
);
create table Score(
SNO VARCHAR(20) NOT NULL,
CNO VARCHAR(20) NOT NULL,
DEGREE DECIMAL,
FOREIGN KEY(CNO) REFERENCES Course(CNO),
FOREIGN KEY(SNO) REFERENCES Student(SNO)
);
2. 数据填充
//截图SQL指令及输入结果
按照如下信息,将数据插入到对应表中,若无法插入请说明原因
Stuinfo:
1001,aa,12
1002,bb,16
1003,cc,14
1004,dd,14
1005,ee,15
insert INTO EXP3.STUINFO(SSNO,SNAME,SAGE) VALUES (1001,'aa',12);
insert INTO EXP3.STUINFO(SSNO,SNAME,SAGE) VALUES (1002,'bb',13);
insert INTO EXP3.STUINFO(SSNO

本文通过一系列具体实例详细介绍了如何使用SQL语言对数据库进行复杂查询操作,涵盖表创建、数据填充、条件查询、连接查询等内容,适用于初学者及进阶学习者。
最低0.47元/天 解锁文章
1768

被折叠的 条评论
为什么被折叠?



