2024年最新猿创征文|SQL经典练习题(中)_7,2024年最新原理讲解

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

SQL习题

1、统计各科成绩>=70 de 人数:课程编号,课程名称, 人数及所占百分比

2、查询各科成绩前三名的记录

3、查询每门课程被选修的学生数

4、查询出只选修两门课程的学生学号和姓名

5、查询男生女生人数

6、查询名字中含有「风」字的学生信息

7、查询同名学生名单,并统计同名人数

8、查询 1990 年出生的学生名单

9、查询每门课程的平均成绩,结果按平均成绩降序排列,平均成绩相同时,按课程编号升序排列

10、查询平均成绩大于等于 85 的所有学生的学号、姓名和平均成绩

11、查询课程名称为「数学」,且分数低于 60 的学生姓名和分数

12、查询所有学生的课程及分数情况(存在学生没成绩,没选课的情况)

13、查询任何一门课程成绩在 70 分以上的姓名、课程名称和分数

14、查询不及格的课程

15、查询课程编号为 01 且课程成绩在 80(含80) 分以上的学生的学号和姓名

16、求每门课程的学生人数

17、查询选修「张老师」所授课程的学生中,成绩最高的学生信息及其成绩

18、查询不同课程 但成绩相同的 学生的学生编号、课程编号、学生成绩

19、查询每门功课成绩最好的前两名

20、统计每门课程的学生选修人数(超过 5 人的课程才统计)

21、检索至少选修三门课程的学生的学生信息

24、按照出生日期来算

25、查询本周过生日的学生

实验小结

1、to_char(datetime/interval [, fmt]) 函数

2、获取系统当前的时间(日期)

3、TIMESTAMPDIFF 函数

4、age函数

5、EXTRACT函数


前言

数据库方向的研究和开发大致可以分为三个方向:一是数据库内核开发(自研等)、二是数据库系统管理(类似DBA的角色)、三是数据库应用开发(业务+SQL)。 内核开发可能需要有钻研创新的能力,比如一些数据库产品本身的自研工作等;DBA可能需要有系统架构、实施经验、以及整体管理的解决方案能力;应用开发则需要具有将业务快速转换成SQL的实现能力。所以说,以上三点纵贯“数据库的整个生命周期” 。

本文将在上一篇****《SQL经典练习题(上)》**** 的基础上继续练习。 因为SQL的学习途径之一就是练习,俗话说,熟能生巧嘛!

******1、**数据表介绍

  • –学生表:Student(SId,Sname,Sage,Ssex)

–SId 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学生性别

  • –课程表:Course(CId,Cname,TeId)

–CId 课程编号,Cname 课程名称,TId 教师编号

  • –教师表Teacher(TeId,Tname)

–TId 教师编号,Tname 教师姓名

  • –成绩表:SC(SId,CId,score)

–SId 学生编号,CId 课程编号,score 分数

2、初始化(创建表并插入测试数据)

学生表Student

create table Student(SId varchar(10),Sname varchar(10),Sbirthday date,Ssex varchar(10));



insert into Student values('01' , '赵雷' , date '1990-01-01' , '男');

insert into Student values('02' , '钱电' , date '1990-12-21' , '男');

insert into Student values('03' , '孙风' , date '1990-12-20' , '男');

insert into Student values('04' , '李云' , date '1990-12-06' , '男');

insert into Student values('05' , '周梅' , date '1991-12-01' , '女');

insert into Student values('06' , '吴兰' , date '1992-01-01' , '女');

insert into Student values('07' , '郑竹' , date '1989-01-01' , '女');

insert into Student values('09' , '张三' , date '2017-12-20' , '女');

insert into Student values('10' , '李四' , date '2017-12-25' , '女');

insert into Student values('11' , '李四' , date '2012-06-06' , '女');

insert into Student values('12' , '赵六' , date '2013-06-13' , '女');

insert into Student values('13' , '孙七' , date '2014-06-01' , '女');

课程表 Course

create table Course(CId varchar(10),Cname varchar(10),TeId varchar(10));



insert into Course values('01' , '语文' , '02');

insert into Course values('02' , '数学' , '01');

insert into Course values('03' , '英语' , '03');

教师表 Teacher

create table Teacher(Teid varchar(10),Tname varchar(10));

insert into Teacher values('01' , '张老师');

insert into Teacher values('02' , '李老师');

insert into Teacher values('03' , '王老师');

成绩表 SC

create table SC(SId varchar(10),CId varchar(10),score decimal(18,1));

insert into SC values('01' , '01' , 80);

insert into SC values('01' , '02' , 90);

insert into SC values('01' , '03' , 99);

insert into SC values('02' , '01' , 70);

insert into SC values('02' , '02' , 60);

insert into SC values('02' , '03' , 80);

insert into SC values('03' , '01' , 80);

insert into SC values('03' , '02' , 80);

insert into SC values('03' , '03' , 80);

insert into SC values('04' , '01' , 50);

insert into SC values('04' , '02' , 30);

insert into SC values('04' , '03' , 20);

insert into SC values('05' , '01' , 76);

insert into SC values('05' , '02' , 87);

insert into SC values('06' , '01' , 31);

insert into SC values('06' , '03' , 34);

insert into SC values('07' , '02' , 89);

insert into SC values('07' , '03' , 98);

SQL习题****

1、统计各科成绩>=70 de 人数:课程编号,课程名称, 人数及所占百分比

2、查询各科成绩前三名的记录

3、查询每门课程被选修的学生数

4、查询出只选修两门课程的学生学号和姓名

5、查询男生女生人数

6、查询名字中含有「风」字的学生信息

7、查询同名学生名单,并统计同名人数

8、查询 1990 年出生的学生名单

9、查询每门课程的平均成绩,结果按平均成绩降序排列,平均成绩相同时,按课程编号升序排列

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

[外链图片转存中…(img-epWZF2gK-1715661338508)]
[外链图片转存中…(img-rcxnRZrU-1715661338509)]

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值