mysql-sql-第八周

学习目标:

sql

学习内容:

19.查询平均成绩大于等于 60 分的同学的学生编号和学生姓名和平均成绩
分析:有几种方法,分组、连接、联查等

Select s.stunm,name,avg(tscore) from students s,score sc group by s.stunm,name having avg(tscore)>60;

在这里插入图片描述

Select s.stunm,name,avg(tscore) from students s left join score sc on s.stunm=sc.stunm group by s.stunm,name having avg(tscore)>60;

在这里插入图片描述

Select stunm,avg(tscore) as ag from score group by stunm having avg(tscore)>60;

在这里插入图片描述

select s.stunm,s.name,ag from students s,(select stunm, avg(tscore) as ag
from score group by stunm having avg(tscore)> 60) r where s.stunm = r.stunm;

在这里插入图片描述

select s.stunm, s.name, r.ag
from students s right join( select stunm, avg(tscore) as ag from score group by stunm having avg(tscore)> 60) r on s.stunm = r.stunm;

在这里插入图片描述

select s.stunm,name,ag
from (select stunm, avg(tscore) as ag from score group by stunm having avg(tscore)> 60)r
left join (select s.stunm, s.name from
Students s)s on s.stunm = r.stunm;

在这里插入图片描述

20.按照出生日期来算,当前月日 < 出生年月的月日则,年龄减一
分析:floor()、datediff(),DateDiff ()函数可用来决定两个日期之间所指定的时间间隔数目
Dloor()向下取整

select name, floor(datediff(current_date, birthday)/365) as age
from students;

在这里插入图片描述

21.查询各学生的年龄,只按年份来算
分析:year()
select *, year(now())-year(birthday) as 年龄 from Students;

在这里插入图片描述

22.查询" 2003 “课程比” 2002 "课程成绩高的学生的信息及课程分数

先求两表交集
(selectfrom score sc where sc.counm =‘2003’)as t1 inner join (select * from score sc1 where sc1.counm=‘2002’)as t2 on t1.stunm=t2.stunm
再查询" 2003 “课程比” 2002 "课程成绩高的学生的信息及课程分数
Select t1.stunm ,t1.counm,t1.tscore from (select
from score sc where sc.counm =‘2003’)as t1 inner join (select * from score sc1 where sc1.counm=‘2002’)as t2 on t1.stunm=t2.stunm where t1.tscore>t2.tscore;查询平均成绩大于等于 60 分的同学的学生编号和学生姓名和平均成绩

23.查询同时存在" 2003 “课程和” 2002 "课程的情况
Select students.stunm,name,counm,tscore from students left join score on students.stunm=score.stunm where students.stunm= any(select score.stunm from score where counm in(‘2002’,‘2003’));
在这里插入图片描述

24.查询存在" 2001 “课程但可能不存在” 2002 "课程的情况

先连接两表
(selectfrom score where counm=’2001’)as t1 left join (selectfrom score where counm=’2002’)as t2 on t1.stunm=t2.stunm
再查询
Selectfrom(selectfrom score where counm=‘2001’)as t1 left join (select*from score where counm=‘2002’)as t2 on t1.stunm=t2.stunm
在这里插入图片描述

学习时间:

1月-3月,每天一小时左右

学习产出:

一周一发

mysql-connector-java-8.0.23.tar.gz是MySQL官方提供的Java驱动程序文件。MySQL是一个流行的开源关系型数据库管理系统,而这个驱动程序则用于连接并在Java应用程序中操作MySQL数据库。 .tar.gz是一种压缩文件格式,常用于将多个文件或目录打包成一个单独文件,以便更容易发和传输。同时,.tar.gz文件也可以减小文件的大小,提高传输和存储效率。 在这个特定的.tar.gz文件中,mysql-connector-java-8.0.23表示该驱动程序的版本号,这是MySQL Connector/J驱动程序的第8.0.23版。Connector/J是MySQL提供的Java JDBC驱动程序,用于在Java应用程序中连接和操作MySQL数据库。 这个驱动程序的安装和使用很简单。首先,将.tar.gz文件解压缩到服务器上,可以使用解压缩工具,如tar和gzip命令。解压后,将得到一个.jar文件,这个文件是实际的驱动程序文件。然后,将这个.jar文件添加到Java应用程序的类路径中,以便应用程序能够使用该驱动程序来连接和操作MySQL数据库。 使用MySQL Connector/J驱动程序,开发人员可以方便地在Java应用程序中实现与MySQL数据库的交互。这个驱动程序提供了各种API和功能,使开发人员能够执行SQL查询、事务处理、连接管理等操作,以及通过JDBC接口与数据库进行通信。 总之,mysql-connector-java-8.0.23.tar.gz是MySQL官方提供的Java驱动程序文件,用于在Java应用程序中连接和操作MySQL数据库。驱动程序的安装和使用很简单,开发人员可以通过它实现与MySQL数据库的交互。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值