学生课程成绩详解数据库
数据库 详解 课程 学生 成绩
2023-06-13 09:20:09 时间
Student(Sid,Sname,Sage,Ssex) 学生表
Course(Cid,Cname,Tid) 课程表
SC(Sid,Cid,score) 成绩表
Teacher(Tid,Tname) 教师表
1、查询“001”课程比“002”课程成绩高的所有学生的学号;
select a.sid from (select sid,score from sc where cid=001) a
join (select sid,socre from sc where cid=002) b on a.sid = b.sid
where a.score b.score;
2 查询平均成绩大于60分的同学的学号和平均成绩;
select sid,avg(score) from sc group by sid having avg(score) 60;
3 查询所有同学的学号、姓名、选课数、总成绩;
select stu.sid,stu.sname,count(cid),sum(score) from student stu join sc s on stu.sid = s.sid
4 查询姓“李”的老师的个数;
select count(tid) from teacher where tname like 李%;
5 查询没学过“叶平”老师课的同学的学号、姓名;
--叶平老师所带的课程编号 select cid from course where tid = (select tid from teacher where tname="叶平"); ---选过叶平老师课程的学生编号(重要) select distinct sid from sc where cid in (select cid from course where tid = (select tid from teacher where tname="叶平")); ---没有选过叶平老师课程的学生 select sid,sname from student where sid not in (select distinct sid from sc where cid in (select cid from course where tid = (select tid from teacher where tname="叶平")));
6 查询学过“001”并且也学过编号“002”课程的同学的学号、姓名;
--学过“001”--- select sid from sc cid =001; --学过“002”--- select sid from sc cid =002; --学过001同时学过002(重要 intersect)--- select sid,sname from student where sid in ((select sid from sc cid =001) intersect (select sid from sc cid =002)); --- exists
用一条 SQL 语句查询出每门课都大于 80
准备数据的 sql 代码: create table score(id int primary key auto_increment,namevarchar(20),subject varchar(20),score int); insert into score values (null,张三,语文,81), (null,张三,数学,75), (null,李四,语文,76), (null,李四,数学,90), (null,王五,语文,81), (null,王五,数学,100), (null,王五 ,英语,90); select distinct(name) from score where name not in (select distinct(name) from score where score 80) select distinct(name) from score t1 where 80 all(select score from score where name = t1.name)
所有部门之间的比赛组合
一个叫 department 的表,里面只有一个字段 name,一共有 4
条纪录,分别是 a,b,c,d,对应四个球对,现在四个球对进行比赛,用一
条 sql 语句显示所有可能的比赛组合.
select a.name,b.name from team a, team b where a.name b.name
原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/3961.html
相关文章
- 详解基于PostgreSQL/openGauss 分布式数据库解决
- 详解PostgreSQL数据库中如何保证LIKE语句的效率
- MongoDB 数据库基础 角色管理的详解
- Oracle数据库的两种授权收费方式详解
- mysql 为什么不能在同一个表上查询和更新详解数据库
- Oracle修改表空间大小详解数据库
- Oracle中的数据字典详解数据库
- MySQL(六)之MySQL常用操作符详解数据库
- MySQL内存不足启动失败的解决方法详解数据库
- 查询当前Oracle数据库的实例详解数据库
- Oracle spatial抽稀函数(SDO_UTIL.SIMPLIFY)详解数据库
- extract和extractValue的差别详解数据库
- Oracle使用imp命令导入数据详解数据库
- mysql常用数据库语句,正在找工作的程序员请收藏详解数据库
- 分库分表数据库中间件对比详解数据库
- mysql为何不支持开窗函数详解数据库
- MySql常用两大存储引擎简介详解数据库
- Day4 MySql触发器视图索引以及设计优化详解数据库
- oracle查询不重复数据详解数据库
- MySQL数据库比对:快速、高效的结果”(mysql数据库比对工具)
- MySQL数据库:自动管理关闭(mysql数据库自动关闭)
- 快速重启 Oracle 数据库的命令指南(oracle重启命令)
- 数据库优化SUSE MySQL:最佳数据库性能优化(susemysql)
- Oracle数据库中不同种类的触发器分析(oracle触发器类型)
- 轻松清空数据库:MySQL删除所有库教程(mysql删除所有库)
- 教你轻松解决 MySQL 数据库删除重复行问题(mysql删除重复的行)
- MySQL数据库授权操作详解(mysql对数据库授权)
- 深入了解MySQL数据库函数,助您高效开发(mysql数据库函数详解)
- 重启MSSQL数据库:掌控你的数据自主库(重启MSSQL数据库)
- MQC可以安装Oracle数据库吗(mqc能装oracle吗)
- 用CMD命令快速连接Mysql数据库(cmd命令连接mysql)
- 防范Oracle数据库意外使用临时锁表机制(oracle临时锁表)