学生选课表练习(面试题)

news2024/11/15 14:08:50

一、表结构:

学生表:Student(编号sid,姓名sname,生日birthday,性别ssex,班级 classid)

课程表:Course(课程编号cid,课程名称cname,教师编号tid)

成绩表:Sc(学生编号sid,课程编号cid,成绩score)

教师表:Teacher(教师编号tid,姓名tname)

班级表:Class (班级编号 classid,班级名称 classname)

学生表 Student

create table Student(Sid int primary key, Sname varchar(10), birthday datetime, Ssex varchar(10), classid int);

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

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

insert into Student values('3' , '孙风' , '1990-05-20' , '男', '1');

insert into Student values('4' , '李云' , '1990-08-06' , '男', '2');

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

insert into Student values('6' , '吴兰' , '1992-03-01' , '女', '2');

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

insert into Student values('8' , '王菊' , '1990-01-20' , '女', '2');

成绩表 SC

create table SC(Sid int, Cid int, score decimal(18,1));

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

insert into SC values('1' , '2' , 90);

insert into SC values('1' , '3' , 99);

insert into SC values('2' , '1' , 70);

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

insert into SC values('2' , '3' , 80);

insert into SC values('3' , '1' , 80);

insert into SC values('3' , '2' , 80);

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

insert into SC values('4' , '1' , 50);

insert into SC values('4' , '2' , 30);

insert into SC values('4' , '3' , 20);

insert into SC values('5' , '1' , 76);

insert into SC values('5' , '2' , 87);

insert into SC values('6' , '1' , 31);

insert into SC values('6' , '3' , 34);

insert into SC values('7' , '2' , 89);

insert into SC values('7' , '3' , 98);

课程表 Course

create table Course(Cid int primary key,Cname varchar(10),Tid varchar(10));

insert into Course values('1' , '语文' , '2');

insert into Course values('2' , '数学' , '1');

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

教师表 Teacher

create table Teacher(

       Tid int primary key auto_increment,

       Tname varchar(10),

       Tsex TINYINT default 1,

       Tbirthday date,

       Taddress varchar(255),

       Temail varchar(255),

       Tmoney DECIMAL(20,2)

);

insert into Teacher values('1' , '张三',1,'1988-1-15','陕西咸阳','zhangsan@qq.com',3000.00);

insert into Teacher values('2' , '李四',0,'1992-5-9','陕西宝鸡','lisi@qq.com',4000.00);

insert into Teacher values('3' , '王五',1,'1977-7-1','山西太原','wangwu@qq.com',5000.00);

班级表 Class

create table Class(classid int primary key, classname varchar(20));

insert into Class values('1', '一班');

insert into Class values('2', '二班');

二、面试题:

1.查询” 01 “课程比” 02 “课程成绩高的学生的信息及课程分数

select student.* from student
inner join 
(select * from sc where cid=1)t1
on student.sid=t1.sid
inner join 
(select * from sc where cid=2)t2
on t1.sid=t2.sid
where t1.score>t2.score

 2. 查询平均成绩大于等于 60 分的同学的学生编号和学生姓名和平均成绩

select student.Sid,student.sname,avg(score) from sc,student
where student.Sid=sc.Sid
group by student.sid
having avg(score)>=60;

 3. 查询在 SC 表存在成绩的学生信息

# 方法一
select DISTINCT student.* from student
inner join  sc on student.Sid=sc.Sid

# 方法二
select * from student where sid in(
	select sid from sc
)

 4. 查询所有同学的学生编号、学生姓名、选课总数、所有课程的总成绩(没成绩的显示为 null )

select student.Sid,Sname,count(Cid),sum(score) from student
left join sc on student.Sid=sc.Sid
group by student.Sid

5. 查询「李」姓老师的数量

select count(*) from teacher where tname like '李%'

6. 查询学过「张三」老师授课的同学的信息 

select * from student,class,teacher,course,sc 
where student.classid=class.classid
and student.Sid=sc.Sid and sc.Cid=course.Cid 
and teacher.Tid=course.Tid and teacher.Tname='张三'

 7. 查询没有学全所有课程的同学的信息

select student.* ,count(cid) from student
left join sc on student.Sid=sc.Sid
group by student.Sid
having count(cid) <(select count(*) from course)

8. 查询至少有一门课与学号为” 01 “的同学所学相同的同学的信息

select distinct student.* from student
left join sc on student.Sid=sc.Sid
where cid  in(
	select cid from sc where sid=1
)and student.sid <>1

9. 查询和” 01 “号的同学学习的课程完全相同的其他同学的信息
-- 完全相同
-- 1.范围相同
-- 2.个数相同 

select student.* from student
inner join sc on student.Sid=sc.Sid
where
student.Sid not in(
select sid from sc where cid not in(
 select cid from sc where sid=1  
	)
)
group by student.Sid
having count(cid)=(select count(*) from sc where sid=1)

10. 查询没学过”张三”老师讲授的任一门课程的学生姓名

select student.Sname from student 
where sid NOT IN
(select DISTINCT sc.Sid from sc 
inner join course  on sc.Cid = course.Cid
inner join teacher  on course.Tid = teacher.Tid
where teacher.Tname = '张三');

11. 查询两门及其以上不及格课程的同学的学号,姓名及其平均成绩

select student.sid, student.sname, AVG(score) from student,sc
where sc.score<60 and student.sid = sc.sid
group by student.Sid having count(cid)>=2

12. 检索” 01 “课程分数小于 60,按分数降序排列的学生信息

select * from student,sc
where student.sid=sc.sid and cid=1 and score<60
order by score desc 

13. 查询各科成绩最高分、最低分和平均分,以如下形式显示:课程 ID,课程 name,最高分,最低分,平均分,及格率,中等率,优良率,优秀率(及格为>=60,中等为:70-80,优良为:80-90,优秀为:>=90)。

select sc.cid,cname,max(score),min(score),avg(score),
	count(case when score >=60 then score end)/count(*) * 100,
	count(case when score >=70 and score <80 then score end)/count(*) * 100,
	count(case when score >=80 and score <90 then score end)/count(*) * 100,
	count(case when score >=90 then score end)/count(*) * 100
from course,sc 
where course.cid = sc.cid
group by course.cid

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1943168.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

《0基础》学习Python——第十九讲__爬虫/<2>

一、用get请求爬取一般网页 首先由上节课我们可以找到URL、请求方式、User-Agent以及content-type 即&#xff1a;在所在浏览器页面按下F12键&#xff0c;之后点击网路-刷新&#xff0c;找到第一条双击打开标头即可查看上述所有内容&#xff0c;将上述URL、User-Agent所对应的…

高考完的假期想学c语言 要注意那些问题?

在高考完的假期学习C语言是一个非常好的选择&#xff0c;可以为以后大学的专业学习打下坚实的基础。我收集制作一份C语言学习包&#xff0c;对于新手而言简直不要太棒&#xff0c;里面包括了新手各个时期的学习方向&#xff0c;包括了编程教学&#xff0c;数据处理&#xff0c;…

参考椭球体与坐标系|大地水准面|地理坐标系|投影坐标系|EPSG|SRID

相关概念之间的关系: 大地水准面 **大地水准面(Geoid)**是海洋表面在排除风力、潮汐等其他影响后&#xff0c;只考虑重力和地球自转影响下的形状&#xff0c;这个形状延伸过陆地生成的一个密闭的曲面。 简单来说&#xff1a;就是一个假想的由地球自由静止的海水平面&#xf…

最新matlab2024a安装教程

一、软件领取 领取方式&#xff1a; https://pan.baidu.com/s/1TeH5F7ilPQVeLc9S9eDmSQ?pwdqot6 二、安装步骤 1、右击下载好的安装包&#xff0c;选择解压缩。&#xff08;用电脑自带的解压功能或解压软件都可以&#xff0c;我这里用的电脑自带的&#xff09; 2、打开…

购物车案例(源码分享)

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 非常期待和您一起在这个小…

3D建模软件--犀牛Rhino for Mac

Mac分享吧 文章目录 效果一、下载软件二、开始安装1、双击运行软件&#xff0c;将其从左侧拖入右侧文件夹中&#xff0c;等待安装完毕2、应用程序显示软件图标&#xff0c;表示安装成功 三、运行测试安装完成&#xff01;&#xff01;&#xff01; 效果 一、下载软件 下载软件…

中国城市房地产政策汇总数据(1957-2024.7)

房地产政策是ZF为了引导和调控房地产市场&#xff0c;确保其健康稳定发展而制定的一系列法律法规和行政措施。包括政策类型、政策内容、限价、限购、土地供应、人才政策等&#xff0c;旨在平衡供需、稳定房价、保护消费者权益、促进资源合理配置及维护市场秩序。包括1957年以来…

看准JS逆向案例:webpack逆向解析

&#x1f50d; 逆向思路与步骤 抓包分析与参数定位 首先&#xff0c;我们通过抓包工具对看准网的请求进行分析。 发现请求中包含加密的参数b和kiv。 为了分析这些加密参数&#xff0c;我们需要进一步定位JS加密代码的位置。 扣取JS加密代码 定位到JS代码中的加密实现后&a…

C++ 基础和基本语法

文章目录 1. 简介 2. 基本解释 示例解释 3. 程序结构 HELLO WORLD 编译 & 执行 C 程序 4. 分号 和 语句块 5. 标识符 6. 关键字 7. 注释 1. 简介 C 是一种静态类型的、编译式的、通用的、大小写敏感的、不规则的编程语言&#xff0c;支持过程化编程、面向对象编…

【HCIA-综合实验】

实验拓扑 实验要求 总经理VLAN2 财务部VLAN3 销售部VLAN4 DNS服务器VLAN5。SW3为VLAN2 3 4 5的网关&#xff0c; SW3启用接口地址池为VLAN2 3动态分配地址。交换机连接终端开启边缘端口&#xff0c;并进行BPDU保护&#xff0c;在SW1和SW2、SW3进行STP优化。R1和SW3链路聚合&am…

Linux 内核模块加载知多少

文章目录 目录 1. 内核模块 内核模块的作用 2. 内核模块的加载 2.1 内核模块的加载过程 2.2 内核模块加载方式 使用 insmod 加载模块 使用 modprobe 加载模块 2.3 内核模块加载顺序 3. 常用的相关命令 4. 总结 工作还在继续&#xff0c;学习还在继续&#xff0c;学习…

【算法/学习】前缀和差分

前缀和&&差分目录 1. 前缀和的概念及作用 &#x1f308;概念 &#x1f308;用途 &#x1f319;一维前缀和 &#x1f319;二维前缀和 2. 差分的概念及用途 &#x1f308;概念&#xff1a; &#x1f308;用途 &#x1f319;一维差分 &#x1f319;二维差分 1. …

sap 权限控制例子

文章目录 1 T-code2 Method3 Summary 1 T-code We use t-code is ‘su21’ and ‘PFCG’ . Creat Authorization objects . Create role 2 Method DATA: zbz(1).CLEAR:zbz.SELECT SINGLE COUNT(*) FROM agr_users WHERE uname sy-uname AND agr_name ZMM_PRICE001.&q…

redis全局唯一ID生成策略、countDownLatch、Lambda表达式总结

redis全局唯一ID生成策略 一、有哪些生成全局唯一ID的策略二、使用Redis自增1. 分析2. RedisIdWorker配置类3 单元测试注解分析&#xff08;难点较多&#xff09;3.1 countDownLatch前言3.2 常用方法 一、有哪些生成全局唯一ID的策略 二、使用Redis自增 1. 分析 2. RedisIdWor…

《数据结构1800题》基础回合总结——第1章 绪论

前言&#xff1a;《数据结构1800》这本书相信大家或多或少都有所耳闻&#xff0c;收录了诸多不同档次学校的考研真题&#xff0c;因为和汤老师的1800撞名所以备受调侃。这1800道题目里面有选择有填空&#xff0c;也有简答和一些编程题&#xff0c;总的来说质量良莠不齐——亦或…

Transformer之Swin-Transformer结构解读

写在最前面之如何只用nn.Linear实现nn.Conv2d的功能 很多人说&#xff0c;Swin-Transformer就是另一种Convolution&#xff0c;但是解释得真就是一坨shit&#xff0c;这里我郑重解释一下&#xff0c;这是为什么&#xff1f; 首先&#xff0c;Convolution是什么&#xff1f; Co…

GaussianPro使用笔记

1. 介绍 GaussianPro: 3D Gaussian Splatting with Progressive Propagation 3D高斯分布(3DGS)最近以其高保真度和效率彻底改变了神经渲染领域。然而&#xff0c;3DGS在很大程度上依赖于运动结构&#xff08;SfM&#xff09;技术生成的初始化点云。当处理不可避免地包含无纹理…

语音识别 语音识别项目相关笔记内容

语音识别 语音识别项目相关笔记内容 语音识别应用范畴语音识别框架语音基本操作使用scipy.io.wavfile读取wav音频文件获取采样率、长度、通道数使用numpy读取pcm格式音频文件读取wav音频文件,并绘制图像读取双声道的wav音频文件,分别绘制不同声道的波形图读取一个采样率为16k…

拍立淘API返回值:图像搜索技术的商品信息获取指南

拍立淘API是基于图像搜索技术的商品信息获取工具&#xff0c;广泛应用于阿里巴巴旗下的电商平台如淘宝、天猫等。这一API通过用户上传的商品图片&#xff0c;利用深度学习、计算机视觉等先进技术自动识别图片中的商品信息&#xff0c;并返回与之相关的搜索结果。以下是对拍立淘…

go语言Gin框架的学习路线(八)

目录 GORM Model定义 使用 Model 结构体的自定义数据模型 理解并记忆 GORM 的 Model 结构体可以通过以下几个步骤和技巧&#xff1a; 1. 理解基本概念 2. 熟悉基本字段 3. 记忆技巧 4. 使用场景 结构体标记 支持的结构体标记&#xff08;Struct tags&#xff09; 关联…