数据库练习题

-- 班级表
CREATE TABLE CLASS(
classid VARCHAR(3) PRIMARY KEY,
`subject` VARCHAR(20) NOT NULL DEFAULT '',
deptname VARCHAR(20) NOT NULL DEFAULT '',
enrolltime YEAR NOT NULL DEFAULT 9,
num INTEGER NOT NULL DEFAULT 0,
FOREIGN KEY (deptname) REFERENCES DEPARTMENT(deptname)
);-- 学生表
CREATE TABLE STUDENTS(
studentid VARCHAR(4) PRIMARY KEY,
`name` VARCHAR(20) NOT NULL DEFAULT '',
age INTEGER NOT NULL DEFAULT 0,
classid VARCHAR(3),
FOREIGN KEY (classid) REFERENCES CLASS(classid));-- 系表
CREATE TABLE DEPARTMENT(
departmentid VARCHAR(4) PRIMARY KEY,
deptname VARCHAR(20) UNIQUE NOT NULL DEFAULT '');-- 插入数据
INSERT INTO DEPARTMENT VALUES(001,'数学');
INSERT INTO DEPARTMENT VALUES(002,'计算机');
INSERT INTO DEPARTMENT VALUES(003,'化学');
INSERT INTO DEPARTMENT VALUES(004,'中文');
INSERT INTO DEPARTMENT VALUES(005,'经济');INSERT INTO class VALUES(101,'软件','计算机',1995,20);
INSERT INTO class VALUES(102,'微电子','计算机',1996,30);
INSERT INTO class VALUES(111,'无机化学','化学',1995,29);
INSERT INTO class VALUES(112,'高分子化学','化学',1996,25);
INSERT INTO class VALUES(121,'统计数学','数学',1995,20);
INSERT INTO class VALUES(131,'现代语言','中文',1996,20);
INSERT INTO class VALUES(141,'国际贸易','经济',1997,30);
INSERT INTO class VALUES(142,'国际金融','经济',1996,14);INSERT INTO hsp_student VALUES(8101,'张三',18,101);
INSERT INTO hsp_student VALUES(8102,'钱四',16,121);
INSERT INTO hsp_student VALUES(8103,'王玲',17,131);
INSERT INTO hsp_student VALUES(8105,'李飞',19,102);
INSERT INTO hsp_student VALUES(8109,'赵四',18,141);
INSERT INTO hsp_student VALUES(8110,'李可',20,142);
INSERT INTO hsp_student VALUES(8201,'张飞',18,111);
INSERT INTO hsp_student VALUES(8302,'周瑜',16,112);
INSERT INTO hsp_student VALUES(8203,'王亮',17,111);
INSERT INTO hsp_student VALUES(8305,'董庆',19,102);
INSERT INTO hsp_student VALUES(8409,'赵龙',18,101);
-- 3.1
SELECT * FROM STUDENTSWHERE `name` LIKE '李%'-- 3.2
SELECT COUNT(DISTINCT subject) AS nums, deptname FROM classGROUP BY deptname HAVING nums > 1-- 3.3 列出人数大于等于30的系的编号和名字。
-- 1. 先查出各个系有多少人, 并得到 >= 30 的系
SELECT SUM(num) AS nums, deptname  FROM class GROUP BY  deptname HAVING nums >= 30-- 2. 将上面的结果看成一个临时表 和 department 联合查询即可
SELECT  tmp.*, department.departmentidFROM department , (SELECT SUM(num) AS nums, deptname  FROM class GROUP BY  deptname HAVING nums >= 30) tmp WHERE department.deptname = tmp.deptname;-- (4) 学校又新增加了一个物理系,编号为006
-- 添加一条数据
INSERT INTO department VALUES('006','物理系');-- (5) 学生张三退学,请更新相关的表
-- 分析:1. 张三所在班级的人数-1
--       2. 将张三从学生表删除
--       3. 需要使用事务控制
-- 开启事务
START TRANSACTION;
-- 张三所在班级的人数-1
UPDATE class SET num = num - 1WHERE classid = (SELECT classid FROM students WHERE NAME = '张三');DELETE FROM studentsWHERE NAME = '张三';-- 提交事务
COMMIT;

30天学会JAVA—练习题(2021韩顺平)——Day20相关推荐

  1. 30天学会JAVA—练习题(2021韩顺平)——Day13

    装拆箱 Sting类 StringBuffer 类 Arrays类 public class A04 {public static void main(String[] args) {//参数数组Bo ...

  2. 2021韩顺平图解linux

    韩顺平图解Linux全面升级 https://www.bilibili.com/video/BV1Sv411r7vd 27 小时 .153 讲, 2021 韩顺平 一周学会Linux 简介 目录 P0 ...

  3. 非零基础自学Java (老师:韩顺平) 第10章 面向对象编程(高级部分) 10.6 抽象类

    非零基础自学Java (老师:韩顺平) ✈[[零基础 快速学Java]韩顺平 零基础30天学会Java] 第10章 面向对象编程(高级部分) 文章目录 非零基础自学Java (老师:韩顺平) 第10章 ...

  4. 尚硅谷Java数据结构和java算法,韩顺平数据结构和算法课后作业01

    尚硅谷Java数据结构和java算法,韩顺平数据结构和算法课后作业第一题 要求: 1)在前面的基础上,将稀疏数组保存到磁盘上,比如map.data 2) 恢复原来的数组时,读取map.data进行恢复 ...

  5. 观韩顺平的《0基础30天学会Java》后感

    万丈高楼平地起,在韩老师的带领下你的筑基期肯定很强,日后成仙指日可待. 开门先说重点:一定要加韩老师微信要资料!一定要加韩老师微信要资料!一定要加韩老师微信要资料!,重要的事情说三遍,千万不要去官网下 ...

  6. Java学习(java基础)-韩顺平老师

    一.简单介绍 1.jdk.jre 2.Java代码规范 a.类.方法的注释,要以javadoc的方式来写 /** *@author:楠小弟 *@version:1.0 */ public class ...

  7. Java笔记(韩顺平Java基础12-14章)

    Java学习笔记(第12章 P444-P459)(第13章P460-P498)(第14章P499-P553) 第12章 异常-Exception 异常介绍 编译异常 异常处理 try-catch异常处 ...

  8. java基础 (韩顺平)

    最近看的是韩顺平老师的java课程(b站).课程讲的比较细致,非常适合没有基础的初学者,推荐大家去b站观看,这个是我个人认为容易忽略的一些笔记. 基本规则 JVM(java虚拟机)保证java可以跨平 ...

  9. 韩顺平零基础30天学会Java【章7 面向对象编程(中级)】

    P273-P359 包 区分相同名字的类 当类很多时,可以很好的管理类 控制访问范围 实际上就是创建不同的文件夹来保存类文件 语法 package 包名; 包的命名规则 只能包含数字.字母.下划线.小 ...

  10. 【韩老师零基础30天学会Java 09】Math Arrays 数组拷贝 自然排序 System BigDecimal 银行家算法舍入 日期类LocalDateTime转换 String翻转

    Math abs绝对值 pow求幂 ceil向上取整 floor向下取整 round四舍五入 sqrt求开方 random求随机数 思考: 请写出获取a-b之间的一个随机整数,a,b均为整数?2-7 ...

最新文章

  1. qlist length 函数讲解_读《JavaScript 轻量级函数式编程》
  2. 华为通过债券转换收购Bakrie Telecom公司16.83%股份
  3. 使用默认方法的界面演变–第一部分:方法
  4. 我的测试生活感悟2 - Art Of Unit Testing
  5. 计算机英语初级考试时间,2020年考研考试时间安排及考试科目_考研网
  6. MapReduce在Map端的Combiner和在Reduce端的Partitioner
  7. PAT(甲级)2020年春季考试 7-2 The Judger (25 分) 经验分享与心路历程
  8. mysql outer apply_使用 CROSS APPLY 与 OUTER APPLY 连接查询
  9. SpringBoot/Spring扩展点系列之FactoryBean让你不在懵逼 - 第435篇
  10. windows10安装Python 3.xx.xx,勾选 Download debugging symbols或Download debug binari两项安装失败解决办法
  11. 饮食控制和维生素干预下肠道菌群的变化
  12. C++ 0X学习 (1)
  13. 英语affrike非洲affrike单词
  14. 9月赠书活动名单公布啦!
  15. 网页: onkeypress事件与onkeydown事件的区别
  16. js中身份证校验规则
  17. 22-07-04 西安 尚好房(01)项目经验总结
  18. 非常全的c盘清理方法(持续更新中)
  19. 微信小程序 选中与未选中的样式实现 多选框
  20. 【精选】Python入门算法题(三)

热门文章

  1. 元宇宙与泛娱乐的邂逅:次世代第一CP养成记
  2. python制作qq机器人_使用python打造一个自己的QQ机器人 【基础篇】
  3. Win11电脑摄像头打开看不见,显示黑屏如何解决?
  4. Nginx搭建视频点播和视频直播服务器
  5. python 操作word页眉表格_Python 如何对word文档(.docx)的页眉和页脚进行编辑?
  6. 使用GDAL实现DEM的地貌晕渲图(三)
  7. 梦想家CMS内容管理系统(毕业设计)
  8. 注册表编辑器,任务管理器,己被系统管理员停用----应急响应
  9. 扫地阿姨看完都学会了!写给即将正在找工作的Java攻城狮,砥砺前行!
  10. 帆软报表参数传给网络报表_报表开发工具FineReport的使用: 程序网络报表