数据库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).四 ...
随机推荐
- html,body的关系
先上一张关系图 最底下的一个是画布,往上一层是html结构,再往上一层是body结构 默认情况下html,body的height都是0,你给这两个元素分别加个边框就能看出来,要特别注意的是加背景颜色是 ...
- 链队列java实现
public class LinkHeap<T> { class Node<T> { T data; Node<T> next; Node(T data) { th ...
- sp_executeSql 用法
今天遇到了一个难题 就是把 一个拼接sql语句 的返回值 赋值给一个变量 经研究 要用sp_executeSql这个存储过程 据说是从sql 2005才开始有的 代码如下: declare @str ...
- 创建16x16二级hash目录
Hash目录是一种优化文件存储性能的方法.无论是Windows还是Linux,无论是NTFS还是ext4,每个目录下所能容纳的项目数是有限的.并不是不能保存,而是当项目数量过大的时候,会降低文件索引速 ...
- Fedora 23 忘记root密码
方法:进入单用户模式改密码 进入grub后,按e进入编辑模式.找到以“linux"开头的那一行,在末尾加” rw init=/bin/bash".ctrl-x启动 (grub2用c ...
- Redis【知识点】批量删除指定Key
Redis中有删除单条数据的命令DEL但是他没有批量删除多条数据的方法,那我们怎么去批量删除多条数据呢! 第一种方式 /work/app/redis/bin/redis-cli -a youpassw ...
- html5中常见的全局属性
1.contentEditable属性 1.功能说明 (1)功能:允许用户编辑元素中的内容 (2)说明:是一个布尔值,false是不能编辑,true为可编辑 该元素还隐藏一个inherit状态 也是 ...
- Property和attribute的区别[转]
Attribute和Property都可以翻译成“属性”,有的地方用Attribute表示“属性”,有的地方又在用Property,初 学者常常在这两个单词间“迷失”,甚至认为二者没有区别,是一样的. ...
- Linux下百度云盘报 获取bdstoken失败
在用linux下百度云盘工具(bcloud),登录时,报获取bdstoken失败. 在网上搜了一下,解决办法如下. 找到auth.py文件 locate auth.py |grep bcloud 结果 ...
- IAP
release_check_url := "https://buy.itunes.apple.com/verifyReceipt" debug_check_url := " ...