数据库SQL语句练习题
一、 设有一数据库,包括四个表:学生表(Student)、课程表(Course)、成绩表(Score)以及教师信息表(Teacher)。四个表的结构分别如表1-1的表(一)~表(四)所示,数据如表1-2的表(一)~表(四)所示。用SQL语句创建四个表并完成相关题目。
表1-1数据库的表结构
表(一)Student (学生表)
|
属性名 |
数据类型 |
可否为空 |
含 义 |
|
Sno |
varchar (20) |
否 |
学号(主码) |
|
Sname |
varchar (20) |
否 |
学生姓名 |
|
Ssex |
varchar (20) |
否 |
学生性别 |
|
Sbirthday |
datetime |
可 |
学生出生年月 |
|
Class |
varchar (20) |
可 |
学生所在班级 |
表(二)Course(课程表)
|
属性名 |
数据类型 |
可否为空 |
含 义 |
|
Cno |
varchar (20) |
否 |
课程号(主码) |
|
Cname |
varchar (20) |
否 |
课程名称 |
|
Tno |
varchar (20) |
否 |
教工编号(外码) |
表(三)Score(成绩表)
|
属性名 |
数据类型 |
可否为空 |
含 义 |
|
Sno |
varchar (20) |
否 |
学号(外码) |
|
Cno |
varchar (20) |
否 |
课程号(外码) |
|
Degree |
Decimal(4,1) |
可 |
成绩 |
|
主码:Sno+ Cno |
|||
表(四)Teacher(教师表)
|
属性名 |
数据类型 |
可否为空 |
含 义 |
|
Tno |
varchar (20) |
否 |
教工编号(主码) |
|
Tname |
varchar (20) |
否 |
教工姓名 |
|
Tsex |
varchar (20) |
否 |
教工性别 |
|
Tbirthday |
datetime |
可 |
教工出生年月 |
|
Prof |
varchar (20) |
可 |
职称 |
|
Depart |
varchar (20) |
否 |
教工所在部门 |
表1-2数据库中的数据
表(一)Student
|
Sno |
Sname |
Ssex |
Sbirthday |
class |
|
108 |
曾华 |
男 |
1977-09-01 |
95033 |
|
105 |
匡明 |
男 |
1975-10-02 |
95031 |
|
107 |
王丽 |
女 |
1976-01-23 |
95033 |
|
101 |
李军 |
男 |
1976-02-20 |
95033 |
|
109 |
王芳 |
女 |
1975-02-10 |
95031 |
|
103 |
陆君 |
男 |
1974-06-03 |
95031 |
表(二)Course
|
Cno |
Cname |
Tno |
|
3-105 |
计算机导论 |
825 |
|
3-245 |
操作系统 |
804 |
|
6-166 |
数字电路 |
856 |
|
9-888 |
高等数学 |
831 |
表(三)Score
|
Sno |
Cno |
Degree |
|
103 |
3-245 |
86 |
|
105 |
3-245 |
75 |
|
109 |
3-245 |
68 |
|
103 |
3-105 |
92 |
|
105 |
3-105 |
88 |
|
109 |
3-105 |
76 |
|
101 |
3-105 |
64 |
|
107 |
3-105 |
91 |
|
108 |
3-105 |
78 |
|
101 |
6-166 |
85 |
|
107 |
6-166 |
79 |
|
108 |
6-166 |
81 |
表(四)Teacher
|
Tno |
Tname |
Tsex |
Tbirthday |
Prof |
Depart |
|
804 |
李诚 |
男 |
1958-12-02 |
副教授 |
计算机系 |
|
856 |
张旭 |
男 |
1969-03-12 |
讲师 |
电子工程系 |
|
825 |
王萍 |
女 |
1972-05-05 |
助教 |
计算机系 |
|
831 |
刘冰 |
女 |
1977-08-14 |
助教 |
电子工程系 |
1、 查询Student表中的所有记录的Sname、Ssex和Class列。【查询指定列】
select Sname,Ssex,Class from Student

2、 查询教师所有的单位即不重复的Depart列。【去重查询】
select distinct Depart from teacher

3、 查询Student表的所有记录。【查询所有数据】
select * from Student

4、 查询Score表中成绩在60到80之间的所有记录。【范围查询】
select * from Score where degree between and

5、 查询Score表中成绩为85,86或88的记录。【离散查询】
select * from score where degree in(,,)

6、 查询Student表中“95031”班或性别为“女”的同学记录。【多条件查询】
select * from student where class='' or ssex='女'

7、 以Class降序查询Student表的所有记录。【排序查询】
select * from student order by class desc

8、 以Cno升序、Degree降序查询Score表的所有记录。【排序查询】
select * from score order by cno asc,degree desc

9、 查询“95031”班的学生人数。【聚合函数-总条数查询】
select count(*) from student where class='';

10、 查询Score表中的最高分的学生学号和课程号。(子查询或者排序)
【排序方式】
select * from score order by degree desc

【无关子查询】
select sno,cno from score where degree=(select max(degree) from score)

数据库SQL语句练习题的更多相关文章
- 20_学生选课数据库SQL语句练习题
一. 设有一数据库,包括四个表:学生表(Student).课程表(Course).成绩表(Score)以及教师信息表(Teacher).四个表的结构分别如表1-1的表(一)~表( ...
- 学生选课数据库SQL语句练习题
一. 设有一数据库,包括四个表:学生表(Student).课程表(Course).成绩表(Score)以及教师信息表(Teacher).四个表的结构分别如表1-1的表(一)~表( ...
- 选课数据库SQL语句练习题
表(一)Student (学生表) 属性名 数据类型 可否为空 含 义 Sno varchar (20) 否 学号(主码) Sname varchar (20) 否 学生姓名 Ssex varchar ...
- 20_学生选课数据库SQL语句练习题1
25.查询95033班和95031班全体学生的记录. select * from STUDENT t,SCORE s where t.sclass=95033 or t.sclass=95031 26 ...
- _学生选课数据库SQL语句练习题
1. 查询Student表中的所有记录的Sname.Ssex和Class列. select Sname,Ssex,t.sclass from STUDENT t 2. 查询教师所有的单位即不重复的De ...
- 数据库SQL语句练习题10--18
10.查询Score表中的最高分的学生学号和课程号.(子查询或者排序) select t.sno,t.cno from SCORE t where degree = (select max(degre ...
- 数据库SQL语句练习题5--9
5. 查询Score表中成绩为85,86或88的记录. ,,) 6. 查询Student表中“95031”班或性别为“女”的同学记录. ' or ssex = '女' 7. 以Class降序查询Stu ...
- (10.09作业)学生选课数据库SQL语句练习题
- 学生选课数据库SQL语句45道练习题整理及mysql常用函数(20161019)
学生选课数据库SQL语句45道练习题: 一. 设有一数据库,包括四个表:学生表(Student).课程表(Course).成绩表(Score)以及教师信息表(Teacher).四 ...
随机推荐
- Win10激活KMS
Windows 10是目前微软主推的Windows系统,Win10 相对之前的Win7/8是吸取二者之长,发展而来! 目前新装的Windows10默认没有激活的 芝麻开们:http://pan.bai ...
- ipad
1. ipad pro 与 ipad air2 时间已经是2016.12.9, 苹果还没有推出新的ipad产品,有些纠结于哪款更适合自己,总结下产品不易获取的核心配置信息 ipad air2 ram ...
- 【Beta版本】七天冲刺——日志集合贴
No Bug 031402401鲍亮 031402402曹鑫杰 031402403常松 031402412林淋 031402418汪培侨 031402426许秋鑫 Day1 Day2 Day3 Day ...
- VS2010 MFC对Excel的操作
这是帮别人做项目遇到的一个问题,的那个是纠结了老长时间,本以为是一件很轻松的事... 首先,这里采用了OLE来对Excel进行操作,网上其实有大把的例子,虽然都可以运行,但是并不能满足项目要求,其实我 ...
- 上传本地代码到github
第一步:建立git仓库 cd到你的本地项目根目录下,执行git命令git init第二步:将项目的所有文件添加到仓库中git add .如果想添加某个特定的文件,只需把.换成特定的文件名即可第三步:将 ...
- bzoj3731: Gty的超级妹子树
一代神题啊orz(至少是以前年代的神题吧) 块状树 复杂度nsqrtnlogn 真是exciting 还没有卡时限 话不多说直接上代码 (最近解锁了记事本写代码的技能...感觉越来越依赖OJ调试了.. ...
- 【BZOJ-1419】Red is good 概率期望DP
1419: Red is good Time Limit: 10 Sec Memory Limit: 64 MBSubmit: 660 Solved: 257[Submit][Status][Di ...
- Extjs 知识体系1-dom操作
操作dom 主要是Ext.element,主要是简单的操作 Ext.dom.CompositeElement // 操作dom集合 ps:Extjs 使用字面量{} 形式,不支持链式操作 一.获取元素 ...
- 使用Maven Assembly plugin将依赖打包进jar
一个Eclipse的工程,在pom中配置了若干依赖,需要将pom中所有的依赖全部打包进一个jar包中,可以选择的方案有maven-assembly-plugin和fatjar.以前采用fatjar进行 ...
- BZOJ4570: [Scoi2016]妖怪
题目传送门 4570: [Scoi2016]妖怪 Time Limit: 10 Sec Memory Limit: 64 MB Submit: 491 Solved: 125 [Submit][Sta ...