数据库系统概论第三章学习通作业(建表、查询、修改、删除、视图)
设有3个关系:
S(S#,SNAME,SEX,AGE)
SC(S#,C#,GRADE)
C(C#,CNAME,TEACHER)
试用SQL语句完成下列大题1~4的任务:
用数据定义语言DDL定义上述三个表,请为每个属性定义适当的数据类型,宽度(和精度),每个表上的主键、外键以及完整性约束。
1,把这个sql文件导入本地,桌面建一个XX.sql文件,用记事本打开,把这个复制进去。然后用语句导入到自己的本地数据库,这里用的是mysql,Navicat
/*
Navicat MySQL Data Transfer
Date: 2022-03-15 21:34:47
*/SET FOREIGN_KEY_CHECKS=0;-- ----------------------------
-- Table structure for `c`
-- ----------------------------
DROP TABLE IF EXISTS `c`;
CREATE TABLE `c` (`c` int(11) NOT NULL,`cname` varchar(255) DEFAULT NULL,`teacher` varchar(255) NOT NULL,PRIMARY KEY (`c`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;-- ----------------------------
-- Records of c
-- ----------------------------
INSERT INTO `c` VALUES ('1', 'java', 'LIU');
INSERT INTO `c` VALUES ('2', 'python', 'LI');
INSERT INTO `c` VALUES ('3', 'html', 'XU');-- ----------------------------
-- Table structure for `s`
-- ----------------------------
DROP TABLE IF EXISTS `s`;
CREATE TABLE `s` (`s` int(11) NOT NULL AUTO_INCREMENT,`sname` varchar(255) NOT NULL,`sex` varchar(10) NOT NULL,`age` int(11) NOT NULL,PRIMARY KEY (`s`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8;-- ----------------------------
-- Records of s
-- ----------------------------
INSERT INTO `s` VALUES ('1', 'WANG', 'male', '20');
INSERT INTO `s` VALUES ('2', 'ZHANGYU', 'male', '24');
INSERT INTO `s` VALUES ('3', 'ZHAO', 'female', '18');
INSERT INTO `s` VALUES ('4', 'YI', 'male', '25');
INSERT INTO `s` VALUES ('5', 'FANG', 'female', '21');
INSERT INTO `s` VALUES ('6', 'ZHANGFRI', 'female', '18');-- ----------------------------
-- Table structure for `sc`
-- ----------------------------
DROP TABLE IF EXISTS `sc`;
CREATE TABLE `sc` (`s` int(11) NOT NULL,`c` int(11) DEFAULT NULL,`grade` float DEFAULT NULL,KEY `s` (`s`),KEY `c` (`c`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;-- ----------------------------
-- Records of sc
-- ----------------------------
INSERT INTO `sc` VALUES ('1', '1', '80');
INSERT INTO `sc` VALUES ('1', '2', '88');
INSERT INTO `sc` VALUES ('2', '1', '79');
INSERT INTO `sc` VALUES ('2', '2', '81');
INSERT INTO `sc` VALUES ('3', '3', '86');
INSERT INTO `sc` VALUES ('4', '2', '85');
INSERT INTO `sc` VALUES ('4', '3', '87');
INSERT INTO `sc` VALUES ('5', '1', '95');
INSERT INTO `sc` VALUES ('3', '1', '82');
INSERT INTO `sc` VALUES ('1', '3', '77');
INSERT INTO `sc` VALUES ('4', '1', '66');
INSERT INTO `sc` VALUES ('6', '1', '78');
在1题的基础是,用SELECT语句完成下列查询。
(1)检索LIU老师所授课程的课程号和课程名;
(2)检索年龄大于23的男同学的学号和姓名;
(3)检索学号为S3的学生所学课程的课程名与任课老师;
(4)检索至少选修LIU 老师所授课程中一门课程的女学生的姓名;
(5)检索WANG同学不学课程的课程号;
(6)检索至少选修2门课的学生的学号;
(7)检索全部学生都选修的课程的课程号和课程名;
(8)检索选修课程包含LIU老师所授全部课程的学生的学号;
(9)检索所有姓张的学生;
(10)查询每个学生的平均成绩;
(11)查询平均成绩大于等于80分的学生的学号和姓名。
(12)查询平均成绩第一名的学生的学号和姓名。
1、select c,cname from C where teacher='LIU';+---+-------+| c | cname |+---+-------+| 1 | java |+---+-------+
2、 select s,sname,sex,age from S where sex='male' and age>23;+---+-------+------+-----+| s | sname | sex | age |+---+-------+------+-----+| 2 | ZHANG | male | 24 || 4 | YI | male | 25 |+---+-------+------+-----+
3、 select cname,teacher from SC join C on SC.c=C.c and SC.s=3;+-------+---------+| cname | teacher |+-------+---------+| java | LIU || html | XU |+-------+---------+
4、select distinct sname,sex,cname from S,SC,C where sex='female' and teacher='LIU';+-------+--------+-------+| sname | sex | cname |+-------+--------+-------+| ZHAO | female | java || FANG | female | java |+-------+--------+-------+
5、select c from C where not exists(select * from S,SC where S.s=SC.s and SC.c=C.c and sname='WANG');+---+| c |+---+| 3 |+---+
6、 select s from SC group by s having count(*)>1;+---+| s |+---+| 1 || 2 || 3 || 4 |+---+
7、select c,cname from C where not exists(select * from S where not exists(select * from SC where s=S.s and c=C.c));+---+-------+| c | cname |+---+-------+| 1 | java |+---+-------+
8、select distinct s,c,grade from SC x where not exists(select * from C where teacher='LIU' and not exists(select * from SC y where y.s=x.s and x.c=c.c));+---+------+-------+| s | c | grade |+---+------+-------+| 1 | 1 | 80 || 2 | 1 | 79 || 5 | 1 | 95 || 3 | 1 | 82 || 4 | 1 | 66 || 6 | 1 | 78 |
+---+------+-------+
9、 select sname from S where sname like 'ZHANG%';+----------+| sname |+----------+| ZHANGYU || ZHANGFRI |+----------+
10、select avg(grade),s from SC group by s;+-------------------+---+| avg(grade) | s |+-------------------+---+| 81.66666666666667 | 1 || 80 | 2 || 84 | 3 || 79.33333333333333 | 4 || 95 | 5 || 78 | 6 |+-------------------+---+
11、select S.s,sname,avg(grade) from S join SC on S.s=SC.s group by s having avg(grade)>=80;+---+---------+-------------------+| s | sname | avg(grade) |+---+---------+-------------------+| 1 | WANG | 81.66666666666667 || 2 | ZHANGYU | 80 || 3 | ZHAO | 84 || 5 | FANG | 95 |+---+---------+-------------------+
12、select avg(grade),SC.s,sname from SC,S where SC.s=S.s group by s limit 1;+-------------------+---+-------+| avg(grade) | s | sname |+-------------------+---+-------+| 81.66666666666667 | 1 | WANG |+-------------------+---+-------+
(1)请创建选修LIU老师所带课程的学生视图,视图包括:学号、姓名、性别、课程号、课程名、成绩。
(2)创建所有男生的视图。
(3)创建所有学生的选课视图,视图包括:学号、姓名、性别、课程号、课程名、成绩。
(4)创建学生平均成绩的视图,视图包括:学号、姓名和平均成绩。
1、create view LIU_student as select sf.Sno,sf.SNAME,sf.SEX,kc.Cno,kc.CNAME,cj.grade from s sf join sc cj on sf.Sno=cj.Sno join c kc on kc.Cno=cj.Cno where kc.teacher='LIU'2、create view LIU_student as select sf.Sno,sf.SNAME,sf.SEX,kc.Cno,kc.CNAME,cj.grade from s sf join sc cj on sf.Sno=cj.Sno join c kc on kc.Cno=cj.Cno where sf.SEX='男'3、create view LIU_student as select sf.Sno,sf.SNAME,sf.SEX,kc.Cno,kc.CNAME,cj.grade from s sf join sc cj on sf.Sno=cj.Sno join c kc on kc.Cno=cj.Cno 4、create view avg_student as select sf.Sno,sf.SNAME,ROUND(avg(cj.grade)) from s sf LEFT join sc cj on sf.Sno=cj.Sno GROUP BY sf.Sno
整理的自己的作业题,有不合适的 语句欢迎同学们一起交流一下。一起进步。
数据库系统概论第三章学习通作业(建表、查询、修改、删除、视图)相关推荐
- 计算机网络第三章学习通题目及答案
计算机网络第三章 目录 计算机网络第三章 点对点信道概述 数据链路层的三个基本问题是什么?为什么必须解决?怎么解决? 封装成帧 透明传输 差错检测 第五次练兵 局域网的数据链路层 组建无线局域网 CS ...
- 数据库系统概论 第三章 第五大题 实验报告
实验目标: 根据课本p71提供的表格,实现p130第五大题的问题,理解和掌握关系数据库标准SQL语言,能够熟练使用SQL语言完成各种数据库操作和管理任务.包括使用SQL DDL语句创建.更改和删除数据 ...
- 数据库系统概论-第三章 关系数据库标准语言 SQL
概述 SQL的特点 综合统一 SQL集数据定义语言,数据操纵语言,数据控制语言的功能于一体,语言风格统一,可以独立完成数据库生命周期中的全部活动,可以执行以下一系列要求: 定义和修改.删除 关系模式 ...
- Spark学习-SparkSQL--03-SparkSQL CLI 建表查询出问题
1. 拷贝配置hive-site.xml 在运行Spark SQL CLI中需要使用到Hive Metastore,故需要在Spark中添加其uris.具体方法是拷贝hive的配置文件hive-sit ...
- 数据库系统概论(第5版)学习笔记第1章 1.2——数据模型
数据库系统概论(第5版)学习笔记第1章 1.2--数据模型 目录 数据库系统概论(第5版)学习笔记第1章 1.2--数据模型 0.思维导图(自制) 1️⃣思维导图下载 2️⃣图示 1.2数据模型 1. ...
- 《数字图像处理》第三章学习总结感悟2:直方图处理
☞ ░ 前往老猿Python博文目录 https://blog.csdn.net/LaoYuanPython ░ 一.引言 在2021年6月22日发布<<数字图像处理>第三章学习总结 ...
- 工程伦理第三章学习笔记2020最新
工程伦理第三章学习笔记2020最新 因为之前自己在网上找答案总是觉得费劲,一道一道的找,很慢,突然找到了前两章的答案,感觉有一种前人种树后人乘凉的感觉,于是自己在艰难找完第三章习题并全对的情况下,将题 ...
- 多维随机变量及其分布——《概率论及其数理统计》第三章学习笔记
多维随机变量及其分布--<概率论及其数理统计>第三章学习笔记 文章目录 多维随机变量及其分布--<概率论及其数理统计>第三章学习笔记 前言 MindMap 二维随机变量 定义与 ...
- 周志华西瓜书第三章学习笔记
第三章学习笔记 文章目录 第三章学习笔记 1.知识脉络 2.我的笔记 参考 1.知识脉络 2.我的笔记 这一章公式推导实在太多了,需要补充的推导过程也有很多,就不写电子档了.扩展公式推导和LDA部分补 ...
最新文章
- Virtual Earth API 在指定zoomLevel添加自定义图层
- python中用def实现自动排序_用 python 实现各种排序算法
- python比java简单好学-21、PHP和python/JAVA比,哪个更好学?
- C#之windows桌面软件第十二课:电脑ADC值显示(上位机),记忆上次串口号,并用TrackBar控件显示ADC值
- PHP安装包解压失败,php安装失败,说什么解压失败什么的
- php 子类名,php的继承方法获取子类名
- pythondevp2p_以太坊GO、JAVA、PYTHON、RUBY、JS客户端介绍
- [HDOJ2586]How far away?(最近公共祖先, 离线tarjan, 并查集)
- 使用BeetleX构建基础的SSL网络通讯
- Emlog使用qq头像作为评论头像
- 计算机体系结构数据库论文,信息管理中计算机数据库系统研究论文
- C/C++ 变参函数
- redis五种数据类型的使用场景
- html css字幕滚动代码,纯CSS实现滚动3D字幕
- 三菱plc恒压供水程序+威纶触摸屏程序本成已用于实际项目中
- linux下ftp命令打印日志,ftp服务器日志解析
- 酒店管理系统 java_java酒店管理系统项目书.pdf
- 使用单链表统计英文文本单词个数
- PCF8591使用及Python控制
- 高纯度钨酸铜粉末/钨酸铁粉末/钨酸亚铁粉末/硫化铋粉末/铬酸铋粉末/氧化锆粉末/铬酸钡粉末