学生选课在MYSQL创建表_学生选课数据库SQL语句练习题
一、 设有一数据库,包括四个表:学生表(Student)、课程表(Course)、成绩表(Score)以及教师信息表(Teacher)。四个表的结构分别如表1-1的表(一)~表(四)所示,数据如表1-2的表(一)~表(四)所示。用SQL语句创建四个表并完成相关题目。
表1-1数据库的表结构
表(一)Student (学生表)
字段名
数据类型
可否为空
含 义
Sno
Varchar2(3)
否
学号(主键)
Sname
Varchar2(8)
否
学生姓名
Ssex
Varchar2(2)
否
学生性别
Sbirthday
Date
可
学生出生年月
SClass
Varchar2(5)
可
学生所在班级
表(二)Course(课程表)
属性名
数据类型
可否为空
含 义
Cno
Varchar2(5)
否
课程号(主键)
Cname
Varchar(10)
否
课程名称
Tno
Varchar2(3)
否
教工编号(外键)
表(三)Score(成绩表)
属性名
数据类型
可否为空
含 义
Sno
Varchar2(3)
否
学号(外键)
Cno
Varchar2(5)
否
课程号(外键)
Degree
Number(4,1)
可
成绩
主键:Sno+ Cno
表(四)Teacher(教师表)
属性名
数据类型
可否为空
含 义
Tno
Varchar2(3)
否
教工编号(主键)
Tname
Varchar2(4)
否
教工姓名
Tsex
Varchar2(2)
否
教工性别
Tbirthday
Date
可
教工出生年月
Prof
Varchar2(6)
可
职称
Depart
Varchar(10)
否
教工所在部门
表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 t. from STUDENT t. --t是别名,别名用也行,不用也行
2、 查询教师所有的单位即不重复的Depart列。
3、 查询Student表的所有记录。
selext * from STUDENT
4、 查询Score表中成绩在60到80之间的所有记录。
select t.* from SCORE t where t.degree>60 and t.degree<80
select * from SCORE where degree>60 and degree<80 两种都可
5、 查询Score表中成绩为85,86或88的记录。
select * from SCORE where degree='85' or degree='86' or degree='88'
6、 查询Student表中“95031”班或性别为“女”的同学记录。
select * from STUDENT a where a.sclass='95031'
where后写条件表达式(逻辑判断),写好了查询效率才高。
select * from STUDENT where sclass='95031' or ssex= '女' --或符合一个即可
select * from STUDENT where sclass='95031' and ssex= '女' --和两个同时满足
7、 以Class降序查询Student表的所有记录。
8、 以Cno升序、Degree降序查询Score表的所有记录。
9、 查询“95031”班的学生人数。
10、 查询Score表中的最高分的学生学号和课程号。(子查询或者排序)
11、 查询每门课的平均成绩。
12、查询Score表中至少有5名学生选修的并以3开头的课程的平均分数。
13、查询分数大于70,小于90的Sno列。
select t.* from SCORE t where sno>70 and sno<90
14、查询所有学生的Sname、Cno和Degree列。
15、查询所有学生的Sno、Cname和Degree列。
16、查询所有学生的Sname、Cname和Degree列。
17、 查询“95033”班学生的平均分。
18、 假设使用如下命令建立了一个grade表:
create table grade(low number(3),upp number (3),rank char(1))
insert into grade values(90,100,’A’)
insert into grade values(80,89,’B’)
insert into grade values(70,79,’C’)
insert into grade values(60,69,’D’)
insert into grade values(0,59,’E’)
现查询所有同学的Sno、Cno和rank列。
19、 查询选修“3-105”课程的成绩高于“109”号同学成绩的所有同学的记录。
20、查询score中选学多门课程的同学中分数为非最高分成绩的记录。
21、查询成绩高于学号为“109”、课程号为“3-105”的成绩的所有记录。
22、查询和学号为108的同学同年出生的所有学生的Sno、Sname和Sbirthday列。
23、查询“张旭“教师任课的学生成绩。
24、查询选修某课程的同学人数多于5人的教师姓名。
25、查询95033班和95031班全体学生的记录。
26、 查询存在有85分以上成绩的课程Cno.
27、查询出“计算机系“教师所教课程的成绩表。
28、查询“计算机系”与“电子工程系“不同职称的教师的Tname和Prof。
29、查询选修编号为“3-105“课程且成绩至少高于选修编号为“3-245”的同学的Cno、Sno和Degree,并按Degree从高到低次序排序。
30、查询选修编号为“3-105”且成绩高于选修编号为“3-245”课程的同学的Cno、Sno和Degree.
31、 查询所有教师和同学的name、sex和birthday.
32、查询所有“女”教师和“女”同学的name、sex和birthday.
33、 查询成绩比该课程平均成绩低的同学的成绩表。
34、 查询所有任课教师的Tname和Depart.
35 、 查询所有未讲课的教师的Tname和Depart.
36、查询至少有2名男生的班号。
37、查询Student表中不姓“王”的同学记录。
38、查询Student表中每个学生的姓名和年龄。
39、查询Student表中最大和最小的Sbirthday日期值。
40、以班号和年龄从大到小的顺序查询Student表中的全部记录。
41、查询“男”教师及其所上的课程。
42、查询最高分同学的Sno、Cno和Degree列。
43、查询和“李军”同性别的所有同学的Sname.
44、查询和“李军”同性别并同班的同学Sname.
45、查询所有选修“计算机导论”课程的“男”同学的成绩表。
学生选课在MYSQL创建表_学生选课数据库SQL语句练习题相关推荐
- 数据库三级考mysql还是sqlse_计算机三级考试数据库SQL语句整理
计算机三级考试数据库SQL语句整理 本文是关于计算机三级考试数据库SQL语句整理,包括创建数据库.删除数据库.备份sql server.创建新表等,供同学们参考学习!想了解更多相关信息请持续关注我们应 ...
- mysql 创建表_每天10分钟带你学会MySQL(三)表的创建
要掌握的要点: 表通过CREATE TABLE语句创建而成. 表和列的命名要使用有意义的文字. 指定列的数据类型(整数型.字符型和日期型等). 可以在表中设置约束(主键约束和NOT NULL约束等). ...
- 学生成绩管理系统mysql课程设计_学生成绩管理系统数据库课程设计报告.doc
目 录 TOC \o "1-2" \h \z \u HYPERLINK \l "_Toc303696065" 1.开发背景 PAGEREF _Toc303696 ...
- django mysql 创建表_关于 django ORM 中,数据库建表方式的问题
本人以前是做客户端的,做后端没多久. 一直有一个问题困扰我,正好现在手上有一个系统在做. 系统逻辑是写一个爬虫在网上爬取一个网站的信息, 经过加工处理后,使用 django 来展示和交互. 表结构简化 ...
- 学生选课系统数据库SQL语句练习题
设有一数据库,包括四个表:学生表(Student).课程表(Course).成绩表(Score)以及教师信息表(Teacher).四个表的结构分别如表1-1的表(一)~表(四)所示,数据如表1-2的表 ...
- phpstudy mysql创建表_MySQL_Mysql入门基础 数据库创建篇,1.创建数据表---基础(高手跳 - phpStudy...
Mysql入门基础 数据库创建篇 1.创建数据表---基础(高手跳过) 正统方法:create [TEMPORARY] table 表名 [if not exists] (创建的列项定义) [表的选项 ...
- mysql 单表 子查询_MySQL基本SQL语句之单表查询、多表查询和子查询 | 旺旺知识库...
一.简单查询: 基本语法: SELECT * FROM tb_name;查询全部 SELECT field1,field2 FROM tb_name; 投影 SELECT [DISTINCT] * F ...
- 用MySQL语句为SC定义主码_珍藏的数据库SQL基础练习题答案
一,基本表的定义与删除. 题1: 用SQL语句创建如下三张表:学生(Student),课程表(Course),和学生选课表(SC),这三张表的结构如表1-1到表1-3所示. 表1-1 Student表 ...
- mysql 修改表名的方法:sql语句
在使用mysql时,经常遇到表名不符合规范或标准,但是表里已经有大量的数据了,如何保留数据,只更改表名呢? 可以通过建一个相同的表结构的表,把原来的数据导入到新表中,但是这样视乎很麻烦. 能否简单使用 ...
最新文章
- SQl inner LOOP | HASH | MERGE join--指定Join的方法
- JVM源码分析之javaagent原理完全解读--转
- 【转】对服务采购订单的条目确认
- 2 - Hexo + GitHub 搭建博客
- Spring Framework 5.1.6、5.0.13 与 4.3.23 发布
- python与7无关的数输出格式第一行为所有与7无关的数_70 道 NumPy 测试题
- html 手机分辨率,移动端各种分辨率手机屏幕----适配方法集锦
- Python + selenium之组织unittest单元测试用例
- 一款非常优秀的内存数据库——lmdb
- matlab 噪声协方差矩阵,已知各个通道的信号的协方差矩阵(covariance matrix), 模拟各个通道的噪声信号...
- 期权定价模型BS模型及反推隐含波动率 golang实现
- 屏蔽点击BackSpace键页面后退
- 如何稳定的连接steam服务器,科技教程:怎么解决与Steam服务器连接时出现的问题...
- Adobe Photoshop CS6图片无法拖入解决方法
- 常用在线英汉、英英词典
- lua中的整除与取整数
- geni与ancestry分析
- android开发-验证邮箱输入是否合法
- 【C语言练习4】根据公式计算π的值,π=4-4/3+4/5-4/7+4/9+... 打印出一个表格来显示,用公式中的1项、2项、3项...计算出来π的近似值
- c语言词法分析器报告,C语言词法分析器构造实验报告.doc